【发布时间】:2016-01-02 22:59:03
【问题描述】:
我有一个简单的服务,它订阅来自 RabbitMQ 的消息并将它们写入数据存储区。有时,此数据存储在短时间内不可用(有时是几秒钟,有时是几分钟)。如果发生这种情况,我们对失败的消息执行basic.reject,并将requeue 设置为true。虽然这有效,但消息似乎会立即重新传递。我希望 RabbitMQ 能够优雅地退回重新交付。例如,首先尝试“立即”重新交付,然后在 2、3、5、8、13 秒等之后重新交付。这可能吗?如果可以,如何?
【问题讨论】:
-
您可以在globaldev.co.uk/2014/07/back-off-and-retry-with-rabbitmq 进行检查。基本上这个想法是为每条消息设置一个 ttl!
-
@LouisF。你在这里删除了你的帖子stackoverflow.com/q/35399063/4828463为什么?
标签: rabbitmq