【问题标题】:RabbitMQ - change binding of exchangeRabbitMQ - 更改交换绑定
【发布时间】:2020-11-23 12:57:48
【问题描述】:

我正在使用 RabbitMq 3.7.16,并且我有一个想要绑定到两个可能队列之一的交换。

我的用例是将交换机绑定到第一个队列并将其切换到第二个队列,然后将绑定切换回来。

我当前的实现

交换是直接类型,两者的路由键都是“”。

当切换绑定时,我执行绑定(第二队列)然后取消绑定(第一队列)。 当切换回来时,我会做相反的事情。

问题

我有几毫秒的时间,两个队列都绑定到交换器,因此接收到相同的消息。 我希望每条消息都准确地到达一个可能的队列。

用 RabbitMQ 做这种事情的正确方法是什么?

【问题讨论】:

    标签: rabbitmq


    【解决方案1】:

    我的解决方案

    有两个交换,一个绑定到第一个队列,另一个绑定到第二个队列。 我为 first-exchange 定义了“alternate-exchange”属性,它将转发任何​​无法路由到 second-exchange 的消息。

    当我希望消息到达第二队列时,我只需解除第一队列与第一交换的绑定。这使得消息在交换中无法路由,因此转发到第二个交换。当我希望消息再次到达第一个队列时,我将其绑定回来。

    【讨论】:

      猜你喜欢
      • 2012-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多