我们正在探索队列主定位器“min-masters”策略,当我们创建新队列时,它看起来工作正常,但是当由于某种原因我们需要停止集群的一个节点时,每个队列都存在该节点上的升级(主节点)到同一节点,例如:
节点 A 有 30 个队列 节点 B 有 0 个队列 节点C有2个队列 节点D有3个队列
当我们停止节点 A 时,所有 30 个队列都会提升到节点 B,这就是预期的结果吗?我们希望这 30 个队列分布在节点 B、C 和 D 上...
请我们开始对此感到疯狂。大家都实验过这个场景吗?当以某种自动方式关闭节点 A 时,是否可以实现我们期望发生的情况?
我们的政策定义如下:
上市政策... prod ha 队列 ^ {"ha-mode":"完全正确","ha-params":3,"ha-sync-mode":"自动","queue-master-locator":"min-masters"}
我们的集群中有 4 个节点,2 个 RAM 节点和 2 个磁盘节点。
当我们创建新队列时,该策略工作得很好,但当我们停止一个节点时,它什么也不做。
谢谢
最佳答案
根据官方文档:
If the master fails […] the longest running mirror is promoted to master
原因如下:
the assumption being that it is most likely to be fully synchronised with the master.
关于停止一个节点时 RabbitMQ 队列主定位器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46910031/