我们正在探索队列主人定位器' min-masters'策略,看起来它在我们创建新队列时工作正常,但是当由于某种原因我们需要停止集群的一个节点时,该节点上存在的每个队列都被提升(主)到同一个节点,例如: / p>
节点A有30个队列 节点B有0个队列 节点C有2个队列 节点D有3个队列
当我们停止节点A时,所有30个队列都被提升为节点B,这是预期的结果吗?我们希望30个队列将在Node B,C和D ......之间分配。
请我们开始疯狂了。大家都试过这个场景吗?当以某种自动方式关闭节点A时,实现我们期望发生的事情是可行的吗?
我们的政策定义如下:
列出政策...... prod ha queues ^ {" ha-mode":"确切地"," ha-params":3," ha-sync-mode" :"自动""队列主定位器":"最小主人"}
我们在群集中有4个节点,2个RAM节点和2个磁盘节点。
当我们创建新队列时,策略工作得很好但是当我们停止一个节点时它什么都不做。
由于
答案 0 :(得分:1)
答案 1 :(得分:1)
RabbitMQ团队监控the rabbitmq-users
mailing list,有时只回答问题。
我刚刚使用3.6.13
的最新预发布代码尝试了您的特定方案,我可以重现它。问题是RabbitMQ不会将现有队列主机移动到重新平衡队列 - 它只会移动其主机存在于已关闭的节点上的队列。我已打开this issue来解决您在此处报告的内容。
您可以使用this unsupported script重新平衡群集中的队列主机。如果您在运行脚本时遇到问题,请发布到rabbitmq-users
,我会看到它。