当消息的QOS=1时, 消费端是否需要ACK?

错误报告

QOS=1时, 消费端需要手动ack吗?

环境

  • EMQX 版本:4.3
  • 操作系统版本:centos
  1. qos1 大概每秒20条左右 一台消费端
  2. 消费端没有ack
  3. 一个多小时后出现"Dropped msg due to mqueue is full"

得看你的 SDK 实现,QoS 1 从机制上来讲是需要 PUBACK 报文的,如果你的 SDK 没有自动应答机制,那么就需要你手动应答。

如果不应答的话会一直重试吗?

是的,直到消息队列满了以后开始丢弃,可以参考下这篇文档:飞行窗口和消息队列 | EMQX 4.4 文档