队列溢出: 为消息发送的 PUBACK rc=0x00,然后这些消息被默认丢弃
作者: hvorwerk-bigdutchman创建于 2026年7月7日更新于 2026年9月8日
标签Status: Available
关于 MQTT 规范的解释,我有一个问题。当客户端发布 QoS 1 消息,且代理的出站队列(max_queued_messages)已满时,Mosquitto 会立即为每个消息发送 PUBACK rc=0x00(成功),包括随后丢弃的消息。发布者无法检测到溢出消息丢失。如果采用桥接配置,这意味着上游代理的任何订阅者都不会收到丢弃的消息。mosquitto.conf 手册中对此作了如下解释:> "一旦达到此限制,随后的消息将被*默默丢弃。"* 根据我的研究,EMQX 和 HiveMQ 也表现出相同的行为,因此这似乎是行业的事实上的解释。我提出此问题,请求添加可选的替代方案,并如果适当,提出对规范进行澄清的请求。
内容来源: eclipse-mosquitto/mosquitto