首页 > 解决方案 > RabbitMQ:将过期消息移至自己的 dlq?

问题描述

我们正在向 rabbitMQ 发送 amqp 消息并设置message-ttl属性。如果消息过期,它们将被移动到定义的 DLQ。

是否可以将过期消息移至单独的 DLQ,以便它们不会因更严重的原因而干扰移至 DLQ 的其他消息?

标签: rabbitmq

解决方案


是的,这是可能的。

您需要在队列上设置死信交换,并配置消息路由密钥以在消息过期时更改。为此使用 x-dead-letter-routing-key arg。

然后使用您刚刚定义的死信路由键将一个新队列绑定到您的 DLX。

然后,过期消息将由 RabbitMQ 发送到 DLX,DLX 会将它们路由到您为过期消息明确定义的队列。

更多关于这里的信息:https ://www.rabbitmq.com/dlx.html 。


推荐阅读