我有两个独立的 rabbitmq 集群(均使用 v3.6.15),它们从一个较旧且较大的集群拆分而来。据我所知,旧集群的配置已导出并重新导入到两个集群中,并创建了多个 shovel 来导入旧集群数据。集群是手动创建的,不存在自动发现。
至少一年来,一切似乎都正常……但当我进入 cluster1 并检查队列时,它显示来自 cluster2 的队列。在 cluster2 上执行相同操作时,我只看到来自该集群的数据,没有来自 cluster1 的信息。虽然我有一些联盟和一些到其他第三方 rabbitmq 的铲子,但没有一个是跨集群的。
经过一些调试后,我发现 cluster1 仍然有一些 vhost 迁移到了 cluster2,而且 cluster1 似乎正在将自己队列中的信息与 cluster2 中的信息混合在一起。为什么相反的情况也不会发生,我不清楚。
我在 cluster1 上创建了一个 iptables 来阻止两个集群之间的流量,它“解决”了这个问题。然后我在日志中发现了这条关于 cluster2 的消息:
Management delegate query returned errors
那么问题是,这是什么management delegate
以及如何控制它?如何在不使用防火墙的情况下解决此问题。