В документе RabbitMQ Перезапуск узлов кластера гласит:
Узел останова выбирает члена кластера онлайн ( только узлы c будут рассматриваться ) для синхронизации c с после перезапуска. После перезапуска узел будет пытаться связаться с этим узлом по умолчанию 10 раз с тайм-аутом ответа 30 секунд. В случае, если одноранговый узел становится доступным в этот интервал времени, узел успешно запускается, синхронизирует то, что ему нужно от однорангового узла, и продолжает работу. Если узел не станет доступным, перезапущенный узел будет сдаваться и добровольно останавливаться .
Я думаю, что он говорит "Вы не можете остановить и перезапустить узел RAM, если в кластере нет доступных дисковых узлов ".
Это потому, что для перезапуска узла RAM требуется один или несколько дисковых узлов для синхронизации c. Если в кластере нет дисковых узлов, вы не можете синхронизировать c узлов ОЗУ, поэтому он сдается и добровольно останавливается. (Это то, что говорится в документе)
Но результат, который я попробовал, отличался от того, что говорится в документе. Предположим, что в кластере есть три узла. Один дисковый узел и два узла ОЗУ. Допустим, каждый узел - это «диск1», «ram1» и «ram2».
Я думал, что процесс будет выглядеть так:
stop ram1
stop disk1
- на данный момент кластер является кластером только ОЗУ. (узел 'ram2' является единственным живым узлом) start ram1
- он не должен запускаться, потому что нет никаких дисковых узлов для синхронизации c.
Но результат оказался другим, чем я думал. Мне удалось запустить узел ОЗУ в кластере только ОЗУ без каких-либо дисковых узлов.
Я что-то не так понял?