我想知道消息发送顺序是否被保留。也就是说,当发布者发送消息序列时,是否保证每个订阅者收到与发布者发送的序列相同的序列?对于干净和持久的 session ?
最佳答案
MQTT 3.1.1 中消息排序功能的摘要可以在规范本身 here 中找到。 .
总结:
- 不保证以不同 QoS 值发布的消息的相对顺序。 (例如,QoS 0 可以超越 QoS 2,因为它涉及单个数据包,而不是后者的 4 个数据包)。
- QoS 0 消息将按顺序传递(尽管消息可能会丢失)
- QoS 2 消息将按顺序传送
- QoS 1 允许消息重复 - 在发布下一条消息的第一个实例之后,重复消息可能会到达。
如果客户端/代理在任何时间只允许单个消息传输,则可以保证 QoS 1 排序。
关于mqtt - MQTT 消息中是否保留消息顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30955110/