2015-01-08 1 views
0

나는 다음과 같은 사용 사례가 있습니다메시지 대기열 서버가 인터넷을 직접 비추 지 않을 수 있습니까?

  • 메시지 크기 : ~ 4킬로바이트
  • 프로토콜 유형 : 고려 RabbitMQ 또는 Mosquitto
  • 5 만 MSG/s의 도착하기까지 메시지 :
  • 메시지 큐 서버를 MQTT을 고려
  • 각 메시지는 각종 네트워크 연결 모바일 클라이언트로부터 전송

W 모자를 알고 싶습니다 : 어떻게 메시지를 섭취하는 시스템을 갖는 것이 더 낫습니까?

A)가 인터넷에 직접 메시지 큐 서버 노출은, 서버 앞)

B)가 읽을 수있는 서버를 노출 뒷부분 일관성/유효성 (물론로드 밸런서와 메시지를 처리 메시지를 네이티브 형식으로 작성하고 몇 가지 기본적인 유효성 검사를 적용한 다음 메시지를 내부 메시지 대기열 서버에 큐에 넣습니다.

두 번째 옵션으로 기울이고 있습니다. 그러나 첫 번째 옵션과 비교하여 프로/이거 조언 해 줄 수 있니?

감사합니다.

  1. 되는지 여부를 인터넷을 첫 번째 질문에 대한 메시지를 즉시

를 처리 할 수 ​​있는지 여부

  • 에 메시지 큐 서버를 노출 :

  • 답변

    0

    당신의 질문은 두 부분으로 방화벽 뒤에 서버를 두는 것이 좋습니다. 따라서 인터넷 공격으로부터 서버를 보호 할 수있는 더 많은 도구가 제공됩니다. 두 번째 질문에 대한

    , 그것은 서버가 메시지 처리 결과에 대한 모바일을 알릴 필요가 있는지 여부에 따라 달라집니다 및 메시지 처리의 결과 여부를 즉시 알 수 있어야합니다

    1. 을 경우 당신 모바일에 피드백을 보내지 않아도되며 메시지 처리 결과가 즉시 실행될 필요는 없습니다. 메시지를 기록한 다음 나중에 일괄 처리 모드로 처리하는 것이 좋습니다.
    2. 메시지를 보내야하는 경우 모바일에 대한 피드백을 되 돌리나 메시지가 즉시 처리 될 필요는 없지만 메시지의 온 전성 검사를 실행하는 데 도움이됩니다. 피드백을 모바일로 보내신 후 일괄 처리를 위해 메시지를 기록하십시오.
    3. 그렇지 않은 경우 정상 점검을 실행하고, 메시지를 처리하고, 피드백을 모바일로 보내주십시오.

    제 조언으로 가능한 한 온라인 모드보다 배치 모드를 사용하도록 제안했습니다. 배치 모드에서 작업 할 때 컴퓨팅 리소스를 간단하게 효율적으로 사용할 수있는 더 많은 옵션이 있습니다.

    +0

    감사합니다. 분명히 인프라 내에 인프라에 도달하기 전에 방화벽과로드 밸런서 계층이 설치 될 것입니다. 그러나 세부 사항에 들어가기를 원하지는 않았습니다. – dlsniper

    관련 문제