MQTT中,比如有两个设备:GID_YunOrder@@@1532185264246546432和GID_CjPayOrder@@@1286966773362593792;他们都是在同一个topic下,但是不同GroupId,后台只创建了GID_YunOrder的上下线监听,如果GID_CjPayOrder@@@1286966773362593792下线了,能触发上下线规则吗?
确实,在同一个topic下,不同的GroupId都能监听到事件。这主要得益于MQTT协议的工作方式。在MQTT中,一个主题(topic)可以被多个订阅者组(即GroupId)订阅。每个订阅者组中可以存在一个或多个消费者实例。当发布一条新的消息到这个主题时,所有订阅了该主题和当前消息标签的消费者都会收到这个消息。因此,如果两个GroupId订阅了同一个topic,并且这两个GroupId都没有指定特定的消息标签,那么这两个GroupId的所有消费者都将收到这条新的消息。
如果你说的是mqtt的topic和设备。mqtt设备和topic只有订阅的关系,设备可能订阅多个topic,topic可能也被多个设备订阅。上下线只和gid的设备有关哈,所以GID_CjPayOrder@@@1286966773362593792上下线无法触发https://help.aliyun.com/zh/apsaramq-for-mqtt/developer-reference/api-operations-and-parameters?spm=a2c4g.11186623.0.0.693b2a7doMCAtX![image.png](https://ucc.alicdn.com/pic/developer-ecology/wyvq5mjsckydw_4e90304dc67f414d9a184064a58b7dd8.png)
,此回答整理自钉群“阿里云 微消息队列 MQTT产品咨询群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/