本文主要是介绍Mqtt之服务质量等级Qos,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Qos0
发送者只发送一次消息,不进行重试,Broker不会返回确认消息。在Qos0情况下,Broker可能没有接受到消息,流程如下图所示:
Qos1
发送者最少发送一次消息,确保消息到达Broker,Broker需要返回确认消息PUBACK。在Qos1情况下,Broker可能接受到重复消息,流程如下图所示:
Qos2
Qos2使用两阶段确认来保证消息的不丢失和不重复。在Qos2情况下,Broker肯定会收到消息,且只收到一次,流程如下图所示:
Qos1 VS Qos2
与Qos1相比,Qos2的开销会很大,因为Broker有额外的两个动作:
- 去重。为了保证消息不重复,Broker必须进行去重处理;
- 确保响应消息PUBREC到达客户端。Broker必须等待客户端对PUBREC消息的响应PUBREL,只有收到客户端的确认消息后,Broker才能对订阅者投递消息。
这篇关于Mqtt之服务质量等级Qos的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!