Назад | Перейти на главную страницу

RabbitMQ: Почему по умолчанию используется руководство по ha-sync-mode?

Я установил кластер RabbitMQ и следую документации по настройке зеркальных очередей (Высокодоступные очереди). Он говорит:

Очереди можно настроить на автоматическую синхронизацию, установив для ключа политики ha-sync-mode значение automatic. ha-sync-mode также можно установить в ручной режим. Если он не установлен, то предполагается ручной.

Почему по умолчанию используется ручная синхронизация? Каковы варианты использования ручной синхронизации?

Тем временем я использовал:

rabbitmqctl set_policy ha-all ".*" '{"ha-mode":"all", "ha-sync-mode": "automatic"}'

Просто прочитайте предоставленную ссылку, натолкнулся на этот пункт, который может объяснить, почему по умолчанию используется «руководство» с выделенными важными частями:

Явную синхронизацию можно запустить двумя способами: вручную или автоматически. Если очередь настроена на автоматическую синхронизацию, она будет синхронизироваться всякий раз, когда присоединяется новое ведомое устройство - перестать отвечать пока это не будет сделано.

Таким образом, автоматическая синхронизация приведет к тому, что очередь не будет отвечать на запросы в течение определенного периода времени, что может быть не лучшим, в зависимости от варианта использования очереди. И автоматическая синхронизация происходит всякий раз, когда присоединяются новые подчиненные устройства. Если есть большое количество присоединяющихся подчиненных устройств, то очередь не будет отвечать в течение длительного периода времени, если только очередь не будет довольно пустой или сеть будет очень быстрой.