gpt4 book ai didi

rabbitmq - RabbitMQ 中的死信死信消息

转载 作者:行者123 更新时间:2023-12-02 21:40:30 25 4
gpt4 key购买 nike

这是我们这里的内容:

  • 主题交换DLE,旨在成为死信交换
  • 主题交换E,这是“主要”交换
  • 多个队列(EQ1、...、EQn)绑定(bind)到 E(并使用 x-dead-letter 初始化-exchange = DLE),每个都有自己的路由 key 。这些队列是被消耗的队列。
  • 对于每个 EQn,都有一个 DLEQn(使用 x-dead-letter-exchange = Ex-message 初始化-ttl = 5000),绑定(bind)到 DLE,其路由键与 EQn 相同。这些队列没有被消耗

我想要的是:如果消费者无法处理来自 EQn 的消息,它会使用 requeue: false Nacks 消息,然后到达 DLEQn - 即到死信交换上的适当队列。现在,我希望此消息在 DLEQn 上停留一段时间,然后路由回原始队列 EQn 再次进行处理。

尽我所能,我无法让“重新传递到原始队列”工作。我看到消息位于 DLEQn 中,所有正确的 header 和路由 key 都完好无损,但在 TTL 过期后,它们就消失得无影无踪。

我在这里做错了什么?

最佳答案

是的,你可以做到这一点。我们目前正在生产中这样做,效果很好。代码太长,无法包含在此处,但我将向您展示我创建的表示该过程的图表。基本思想是第一个 DLX 有一个 TTL,一旦 TTL 过期,消息就会进入第二个队列,然后重新发送回原始队列。

enter image description here

关于rabbitmq - RabbitMQ 中的死信死信消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28631380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com