问个MQTT问题,就是设备状态上线的时候,不应该你们让他们先下线,然后在上线么?

"问个MQTT问题,就是设备状态上线的时候,我这边出现了一个状况:正常是我设备是在线的,然后操作它重启,不应该你们让他们先下线,然后在上线么?(下线时候,跟上次上线时候一样的channelId,重启后上线会创建新的channelId),但是我遇到的问题是:我先收到了上线通知(会有新的channelId),然后2秒后收到了以前上线的设备的下线通知(与旧的channelId一致)导致了我这边会走下线逻辑,导致维护状态表中多了一个新channelId上线的记录
"

展开
收起
真的很搞笑 2023-09-19 09:11:40 116 分享 版权
1 条回答
写回答
取消 提交回答
  • 这个不保证顺序的,分布式场景下+网络,这个事件的顺序很难保证。可以在你们的服务端处理一下,也就是按照channelId去处理,获取真实的状态,此回答整理自钉群“阿里云 微消息队列 MQTT产品咨询群”

    2023-09-20 10:08:10
    赞同 展开评论

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系列产品 Serverless 化。RocketMQ 中文社区:https://rocketmq-learning.com/

还有其他疑问?
咨询AI助理