У меня есть кластерная установка кролика на HA. Я использую «точно» политику, аналогичную:Как определить, какие узлы в моем кластере rabbitmq являются HA?
rabbitmqctl set_policy ha-two "^two\." \'{"ha-mode":"exactly","ha-params":10,"ha-sync-mode":"automatic"}'
У меня есть 30 машин, работающих, из которых 10 являются HA узлы с очередями тиражируемых. Когда мой брокер идет вниз (случайным образом назначается первым узлом HA), мне нужны мои работники сельдерея, чтобы указать на новый узел HA (один из 9 левых). У меня есть сценарий, который автоматизирует это. Проблема заключается в следующем: я не знаю, как различать обычный узел кластера и узел HA. Когда я выдаю команду:
rabbitmqctl cluster_status
Категории, которые я получаю, это «бегущие узлы», «диск» и «ram». но здесь нет способа определить, является ли узел HA.
Любые идеи?
Да, но мои не-HA-узлы в кластере не имеют реплицированных очередей. Вы говорите, что, даже если это так, мои не-HA-узлы могут выступать в роли брокеров? – jeffrey
Я не думаю, что мои работники сельдерея не смогут получить доступ к очереди, поскольку узел кластера не-HA не имеет копии очереди – jeffrey
Что вы подразумеваете под «узлами HA»? HA, установленный в очереди, в вашем случае очередь должна быть реплицирована ровно на 10 узлов. Таким образом, вы должны потерять в то же время все 10 узлов, где очередь находится, чтобы попасть в беду. – pinepain