0

我有一个集群 HA rabbitmq 设置。我正在使用类似于以下的“完全”策略:

rabbitmqctl set_policy ha-two "^two\." \'{"ha-mode":"exactly","ha-params":10,"ha-sync-mode":"automatic"}'

我有 30 台机器在运行,其中 10 台是复制队列的 HA 节点。当我的代理出现故障(随机分配为第一个 HA 节点)时,我需要我的 celery 工作人员指向一个新的 HA 节点(剩下的 9 个节点之一)。我有一个自动执行此操作的脚本。问题是:我不知道如何区分常规集群节点和HA节点。当我发出命令时:

rabbitmqctl cluster_status

我得到的类别是“运行节点”、“磁盘”和“内存”。但是这里没有办法判断一个节点是否是 HA。

有任何想法吗?

4

1 回答 1

0

在集群中,每个节点都与另一个节点共享所有内容,因此您无需区分应用程序中的节点即可访问所有实体。

在您的情况下,当一个 HA 节点出现故障(它们的数量达到 9)时,HA 队列将被复制到第一个可用节点(无论是磁盘还是内存)。

于 2014-10-15T05:51:23.767 回答