mqtt客户端的qos设置为1或者2的时候会导致消息堆积嘛?[阿里云消息队列MQ]

mqtt客户端的qos设置为1或者2的时候会导致消息堆积嘛?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
1 条回复 A 作者 M 管理员
  1. 当 MQTT 客户端的 QoS(服务质量)设置为 1 或 2 时,并不会直接导致消息堆积。QoS 主要影响消息传递的可靠性。

    • QoS 0:最多一次传递(At most once delivery),消息发送后不保证可靠传递。这种情况下,即使网络中断或客户端离线,消息也不会被重新传递。因此,不会导致消息堆积。

    • QoS 1:至少一次传递(At least once delivery),确保消息至少被传递一次,但可能会重复传递。当消息发送后,如果没有收到 PUBACK 确认消息,客户端将重新发送消息,直到收到确认。这可能会导致在某些情况下消息重复传递,但不会导致明显的消息堆积。

    • QoS 2:恰好一次传递(Exactly once delivery),确保消息仅被传递一次。通过对消息进行握手流程和去重机制,确保消息只传递一次。与 QoS 1 相比,QoS 2 的处理更复杂,可能产生更多的网络开销和延迟,但也不会导致明显的消息堆积。
      =

  2. 看网速、消费速度和生产速度了。此回答整理至钉群“阿里云 微消息队列 MQTT产品咨询群”。