如何让 RabbitMQ 在一定时间后没有收到 ACK 时重新发送消息?
How to make RabbitMQ redeliver a message when it doesn't receive a ACK after a certain time?
如果我正确理解 AMQP:
After a message (delivery) is pushed to a consumer, the server waits for
its ACK, if ACK is not received when the message reaches its TTL,
the message is discarded.
我想要的是消息在一定时间后没有收到ACK时重新排队,我该怎么办?
而且我最多还需要重新排队消息3次。我知道我可以在客户端通过保持计数器来做到这一点,并在计数器达到 3 时拒绝消息 (NACK)。但这可以在服务器端完成吗?
在 RabbitMQ 服务器端,您所要求的一切都无法完成,除非您编写插件来做到这一点,因此您可能必须在客户端做您想做的事情。
如果我正确理解 AMQP:
After a message (delivery) is pushed to a consumer, the server waits for its ACK, if ACK is not received when the message reaches its TTL, the message is discarded.
我想要的是消息在一定时间后没有收到ACK时重新排队,我该怎么办?
而且我最多还需要重新排队消息3次。我知道我可以在客户端通过保持计数器来做到这一点,并在计数器达到 3 时拒绝消息 (NACK)。但这可以在服务器端完成吗?
在 RabbitMQ 服务器端,您所要求的一切都无法完成,除非您编写插件来做到这一点,因此您可能必须在客户端做您想做的事情。