Можем ли мы считать, что один подчиненный узел является ведущим, чем другой подчиненный узел? Предполагая, что я хочу выбрать следующий главный узел как узел с минимальными мастерами или с максимальным ресурсом, доступным, если текущий мастер-узел терпит неудачу. Можно ли организовать?Можно ли выбрать следующий главный узел в RabbitMQ?
ответ
Вы можете взглянуть на политику x-queue-master-locator
. Читайте здесь: https://www.rabbitmq.com/ha.html
Очередь Master Расположение Каждая очередь в RabbitMQ есть домашний узел. То, что узел называется мастером очереди. Все операции с очередью сначала проходят через мастер , а затем реплицируются в зеркала. Это необходимо, чтобы гарантировал заказ FIFO сообщений.
Мастера очереди могут быть распределены между узлами с использованием нескольких стратегий . Какую стратегию можно использовать тремя способами: , а именно, используя аргумент declare-host-host-host-queator x-queue, , задающий ключ политики-хозяина-хозяина-хозяина или определяющий ключ queue_master_locatorв файле конфигурации. Вот возможных стратегий и как установить их:
Выберите узел хостинга минимального количества мастеров: мин-мастера Pick узла клиент, который объявляет очередь подключен к: клиенту-местному Выбери случайный узел: случайный
Я также предлагаю прочитать этот пост: https://www.erlang-solutions.com/blog/take-control-of-your-rabbitmq-queues.html
Это должно помочь вам