我在不同的数据中心有 2 个 RabbitMQ 集群。目前,我们正在将其中一个交换从一只兔子转移到另一只兔子,但现在我们也需要朝另一个方向推进。我们如何在不导致无限循环的情况下实现这一点?
一位同事认为我们可以勾选“添加转发标头”选项,然后使用标头交换进行过滤。但是,添加的标题似乎是嵌套的,我还没有找到与标题匹配的方法?
我在不同的数据中心有 2 个 RabbitMQ 集群。目前,我们正在将其中一个交换从一只兔子转移到另一只兔子,但现在我们也需要朝另一个方向推进。我们如何在不导致无限循环的情况下实现这一点?
一位同事认为我们可以勾选“添加转发标头”选项,然后使用标头交换进行过滤。但是,添加的标题似乎是嵌套的,我还没有找到与标题匹配的方法?
似乎基于您提供的附加描述:
我可以看到两种方法来处理你想要做的事情:
对于铲子选项:您在集群 1 上有交换 A,在集群 2 上有交换 A,在每个集群上都有您的 main_queue
联合的好处:更简单,即使您配置了复杂的路由
铲子的好处:如果您有重大连接中断的风险(我会说超过一分钟),那就更好了。在这种情况下,您不会丢失消息,而在联合情况下可能会发生某些消息不会在两个集群上复制的情况。