gpt4 book ai didi

RabbitMQ - 更改交换绑定(bind)

转载 作者:行者123 更新时间:2023-12-05 06:09:00 26 4
gpt4 key购买 nike

我正在使用 RabbitMq 3.7.16,我有一个交换器,我想绑定(bind)到两个可能的队列之一。

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

我目前的实现

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

当切换绑定(bind)时,我先执行绑定(bind)(第二个队列),然后再执行解除绑定(bind)(第一个队列)。当切换回去时,我做相反的事情。

问题

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

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

最佳答案

我的解决方案

有两个交换器,一个绑定(bind)到第一个队列,另一个绑定(bind)到第二个队列。我为第一个交换定义了“备用交换”属性,它将转发任何​​无法路由到第二个交换的消息。

当我希望消息到达第二队列时,我只需将第一队列与第一交换解除绑定(bind)。这使得消息在交换中无法路由,从而转发到第二个交换。当我希望消息再次到达第一个队列时,我将其重新绑定(bind)。

关于RabbitMQ - 更改交换绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64968882/

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