带有负载平衡应用服务器的MQTT

时间:2019-01-15 15:55:44

标签: mqtt mosquitto

enter image description here

我有两个运行相同Web应用程序的tomcat服务器。这两个Web应用程序都订阅了MQTT服务器中的主题1。每当在主题1中接收到消息时,两个应用程序都会接收到该消息。但是我只希望一台服务器处理请求,而不是两者都处理。最坏的情况是我必须在两个Web应用程序上进行条件检查,以允许一次处理。对于这种情况有什么建议吗?

1 个答案:

答案 0 :(得分:2)

您需要使用支持共享订阅的MQTT代理 1

此功能使您可以让多个客户端订阅同一主题,并且代理将以循环方式将它们发送给所有客户端(例如,第一条消息发送给客户端1,第二条消息发送给客户端2,第三条消息发送给客户端1,客户端2的第4位...)

1 共享订阅是在v3上实现的许多代理的功能,但是机制不同,因此它们并不总是兼容的,从MQTT规范的v5开始,共享订阅是代理可以选择的组件支持和实现该功能的所有代理的行为都应相同。

相关问题