2015-01-08 1 views
0

У меня есть следующий случай использования:Если сервер очереди сообщений обращен к Интернету напрямую или нет?

  • сообщение размер: ~ 4kb
  • Тип протокола: учитывая MQTT
  • сообщение сервера очереди: учитывая RabbitMQ или Mosquitto
  • до 50k сообщ/с прибывающим сообщения
  • каждое сообщение посылается от мобильного клиента с возможностью подключения различных сетевых

W я хотел бы знать: как лучше иметь систему для приема сообщений?

А) подвергать сервер очереди сообщений непосредственно к Интернету, обрабатывает сообщения позже для согласованности/достоверностей (конечно с балансировкой нагрузки в передней части серверов)

В) подвергать сервер, который может прочитать сообщение в собственном формате, применить некоторые основные проверки на достоверность и затем отправить сообщение на сервер внутренней очереди сообщений

Я склоняюсь ко второму варианту, но у меня нет реальных аргументов в пользу его/ее против первого варианта, поэтому не могли бы вы посоветовать это?

спасибо.

ответ

0

Вы вопрос состоит из двух частей:

  1. ли не подвергать сервер очереди сообщений в Интернете
  2. ли или не обработать сообщение немедленно

Для первого вопроса , Я бы посоветовал поставить сервер за брандмауэр. Таким образом, у вас будет больше инструментов для защиты вашего сервера от интернет-атак.

Что касается второго вопроса, это зависит от того, требуется ли или нет сервера информировать мобильный о результате обработки сообщений и должен ли результат обработки сообщения известно сразу:

  1. В случае, если вы не требуется отправлять обратную связь на мобильный, и результат обработки сообщения не требуется для немедленного выполнения, я бы посоветовал зарегистрировать сообщение, а затем обработать его позднее в пакетном режиме,
  2. Если вам необходимо отправить сообщение обратная связь с мобильным телефоном, но сообщение не требуется для немедленной обработки, я бы посоветовал выполнить проверку работоспособности сообщения, отправьте обратную связь на мобильный, затем зарегистрируйте сообщение для пакетной обработки,
  3. В противном случае я бы посоветовал выполнить проверку работоспособности, обработать сообщение и отправить обратную связь на мобильный.

В моем совете я предложил как можно больше использовать пакетный режим в режиме онлайн. Когда вы работаете в пакетном режиме, у вас есть больше возможностей для эффективного использования ваших вычислительных ресурсов простым способом.

+0

Спасибо. Очевидно, что установка будет иметь брандмауэр и уровень балансировки нагрузки, прежде чем он достигнет чего-либо еще внутри инфраструктуры, но я не хотел вдаваться в подробности. – dlsniper

Смежные вопросы