MQTT с сервером приложений с балансировкой нагрузки - PullRequest
0 голосов
/ 15 января 2019

enter image description here

У меня два сервера Tomcat, на которых запущено одно и то же веб-приложение. Оба веб-приложения подписываются на тему 1 на сервере MQTT. Всякий раз, когда сообщение получено в теме 1, оба приложения получают сообщение. Но я хочу, чтобы только один сервер обрабатывал запрос вместо обоих. В худшем случае я должен выполнить проверку состояния в обоих веб-приложениях, чтобы обеспечить однократную обработку. Есть предложения по этому делу?

1 Ответ

0 голосов
/ 15 января 2019

Вам необходимо использовать брокера MQTT, который поддерживает общие подписки 1

Эта функция позволяет вам иметь несколько клиентов, подписанных на одну и ту же тему, и брокер доставит их в несколько раз.модная одежда для всех клиентов (например, первое сообщение клиенту 1, второе клиенту 2, третье клиенту 1, четвертое клиенту 2 ...)

1 Общие подписки были функциейряд брокеров реализован в v3, но с разными механизмами, поэтому они не всегда были совместимы, так как начиная с v5 спецификации MQTT Shared Subscription является необязательным компонентом, который может поддерживать брокер, и все брокеры, реализующие эту функцию, должны вести себя одинаково.

...