Art*_*dor 5 load-balancing rabbitmq
我有一个由 3 个 RabbitMQ 节点组成的集群,即使在节点重新启动后,我也希望在所有节点之间保持主队列平衡。尽管如此,当新节点加入集群或其中一个节点断开连接并重新连接时,主队列不会重新平衡。
示例:我在节点 A、B 和 C 上创建 100 个队列。如果节点 C 关闭,来自 C 的主队列几乎在节点 A 和 B 之间重新平衡。因此,此时,节点 A 和 B 都有大约 50 个主队列。
现在,如果我重新连接节点 C,它将保留 0 个主队列,直到创建新队列。这是有问题的,因为我希望所有节点产生相同数量的工作。
我的交换是持久的,我的队列是持久的并且是镜像的,我的消息是持久的。我想避免丢失消息。
我知道有一种方法可以使用策略技巧手动更改主节点。但这并不令人满意,因为它破坏了 HA(通过引起所有镜像的重新同步)。
小智 3
你可以使用这个命令:
rabbitmq-queues rebalance type --vhost-pattern pattern --queue-pattern pattern
Run Code Online (Sandbox Code Playgroud)
例如
rabbitmq-queues rebalance "all" --vhost-pattern "a-vhost" --queue-pattern ".*"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7656 次 |
| 最近记录: |