如何订阅多个MQTT客户端以使队列排队

时间:2018-11-28 13:29:01

标签: mqtt round-robin solace

我尝试轻松地为多个MQTT客户端订阅相同的主题(队列),因为我需要为服务实现轮询平衡。

如何创建多个客户不排他的队列?

我可以通过Solace CLI创建自定义配置吗?

谢谢

1 个答案:

答案 0 :(得分:0)

通常使用Solace PubSub +消息代理,队列中的循环传递是通过将多个客户端绑定到映射到单个主题的同一非排他队列来实现的。但是,MQTT客户端当前不支持此功能。每个使用QoS1的MQTT会话都可以与一个根据CLIENT_ID命名的队列链接。无法将多个MQTT会话绑定到相同的非独占队列。

Solace将在不久的将来添加对具有QoS0的共享订阅的支持,这将允许MQTT客户端之间进行循环负载平衡。在当前版本8.13中,一种可能的解决方法是让发布者通过分散在不同的MQTT主题上来实施负载平衡策略。

否则,在使用开放协议的情况下,您可以考虑使用REST使用者作为另一种选择来使使用者负载均衡单个队列。请参见:https://docs.solace.com/Features/REST-Messaging-Concepts/REST-Consumers.htm

中的“扩展REST使用者规模”