Mqtt之服务质量等级Qos

xiaoxiao2021-02-28  10

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才能对订阅者投递消息。
转载请注明原文地址: https://www.6miu.com/read-450296.html

最新回复(0)