RabbitMQ 中可以长时间保留 ack 吗?

Inc*_*ete 5 rabbitmq

消费者(手动ack模式)可以长时间保留ack消息吗?

用例是进程(消费者)处理来自队列的消息(ack 设置为手动),处理时间较长(几分钟到几小时),处理完成后发回 ack。

RabbitMQ 服务器/客户端是否旨在处理这种使用模式?

小智 2

这种设计可以做,但不强烈推荐。从 RabbitMQ 3.8.15 开始,有一个新功能,如果消息未确认的时间超过配置,该功能将关闭连接。因此,您需要确保配置设置的持续时间大于您的客户将经历的时间。请参阅consumer_timeout 文档