MQTT中我们会把同一个channelId 的connect 和tcpclean删除掉?

MQTT中我们会把同一个channelId 的connect 和tcpclean删除掉 但是多余的 connect我们没办法判定这个是不是在线的,拿到我们维护的状态表中 如果有connect 一定是在线的么 ?

展开
收起
真的很搞笑 2023-09-26 21:52:24 200 分享 版权
1 条回答
写回答
取消 提交回答
  • 这个需要你们自己在内存中维护,例如存一分channelId 为key ,状态伟value的map。事件到达了就存进去,然后去匹配里面事件是不是配对的。比如channelId A 的下线时间先到,你们也存进去,然后channelId A 的上线事件才到,你们可以去查map里面是不是有下线事件,有的就匹配了,说明这个是一个乱序的,你们可以自己决定直接删除map还是什么操作,分布式系统,时间戳也不准的,也有情况时间戳不一致,此回答整理自钉群“阿里云 微消息队列 MQTT产品咨询群”

    2023-09-26 22:15:37
    赞同 展开评论
问答分类:

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

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