【发布时间】:2021-05-18 15:39:27
【问题描述】:
我正在尝试找出关于“至少一次”(QoS 1)配置的 MQTT 订阅者接收到的消息的 MQTT 3.1.1 消息重新传递的现实情况:
- MQTT 代理是否会重新传递来自订阅者的未确认的“QoS 1”消息?
- 必须经过多长时间才能重新交付 MQTT 代理?
- MQTT 代理是否无休止地尝试重新传递未确认的消息?
- 还有其他方法可以触发重新投递吗?
假设 MQTT 订阅者 没有用PUBACK 消息响应收到的 MQTT 消息,MQTT 代理需要(至少从我的理解)重新传递必须接收的消息“至少一次”,直到订阅者为该消息发送 PUBACK。
为了更具体地了解我想要实现的目标:
推迟发送PUBACK 直到成功保留接收到的消息是一个好/有效的主意 - 有效地扩大 QoS 级别,直到我的订阅应用程序保证消息得到处理。
以及是否例如持久性错误(数据库超时)不会发送PUBACK,这将自动导致重新传递此类消息。
谢谢和最好的问候
【问题讨论】:
标签: mqtt mosquitto hivemq mqtt-vernemq