是否可以在多个使用者之间分发MQTT主题的读取?

Ste*_* B. 2 mqtt

使用MQTT代理,是否可以为某个主题设置多个使用者,以便对于该主题上的任何给定消息,只有一个使用者会收到该消息?

har*_*llb 5

简短的回答是否定的,不是任何纯粹实现MQTT规范的经纪人.

我想可以编写一个使用MQTT与客户端通信的代理,并且只向单个订户传递消息.(它必须与QOS2一起交付以确保消耗每条消息)

巧合的是,我正在与一位同事谈论本周早些时候类似的事情,他找到了一种方法,使用IBM*MQ Light和称为"共享目的地"的方式.(MQ Light使用AMPQ而非MQTT)

https://developer.ibm.com/messaging/mq-light/

  • 完全披露,我为IBM工作

更新:

我被告知IBM MessageSight v1.2设备实际上可以使用MQTT执行共享目标(http://www-03.ibm.com/software/products/en/messagesight)

更新2:

共享订阅是MQTT v5规范的可选部分,因此值得检查任何v5代理以获取该选项.


小智 1

这是不可能的。在 MQTT 中,特定主题的所有订阅者都会收到发布到该主题的消息。为了将消息定向到特定订阅者,发布者和订阅者都必须使用与其他订阅者所使用的主题不同的特定主题。