在节点之间平衡RabbitMQ主队列

Artando

我有一个由3个RabbitMQ节点组成的集群,即使在节点重启后,我也希望保持所有节点之间的主队列平衡。尽管如此,当新节点加入群集或其中一个节点断开连接并重新连接时,主队列仍不会重新平衡。

示例:我在节点A,B和C上创建100个队列。如果关闭节点C,则来自C的主队列几乎在节点A和B之间重新均衡。因此,此时,节点A和B都有大约50个主队列。
现在,如果我重新连接节点C,它将保留0个主队列,直到创建新队列为止。这是有问题的,因为我希望所有节点产生相同数量的工作。

我的交换是持久性的,我的队列是持久性和镜像的,并且我的消息是持久性的。我想避免信息丢失。

我知道有一种方法可以使用策略技巧手动更改主节点但这并不令人满意,因为它破坏了HA(通过引发所有镜像的重新同步)。

纳尔格斯·穆萨维

您可以使用以下命令:

rabbitmq-queues rebalance type --vhost-pattern pattern --queue-pattern pattern

例如

rabbitmq-queues rebalance "all" --vhost-pattern "a-vhost" --queue-pattern ".*"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章