【发布时间】:2021-07-23 09:17:21
【问题描述】:
消费者(在手动确认模式下)可以长时间保留确认消息吗?
用例是一个进程(消费者)处理来自队列的消息(ack设置为手动),处理需要很长时间(几分钟到几小时),处理完成后发送一个ack返回。
RabbitMQ 服务器/客户端是否旨在处理这种使用模式?
【问题讨论】:
-
轶事,不一定是个好主意,但我看到一个 ack 被用作分布式锁模式,竞争的消费者将竞争获取单个(或有限数量)的 ack队列中的消息。这个想法是,如果消费者进程崩溃,则消息 ack 将被释放以供下一个消费者获取。消费者通常会持有 ack 一天或更长时间,而 Rabbit 似乎没有问题。
标签: rabbitmq