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

У меня есть приложение, работающее в 3 разных центрах обработки данных, которое использует ZooKeeper для многих задач. Следуя рекомендуемым методам, мы развернули три ансамбля ZooKeeper, в которых один центр обработки данных содержит общие экземпляры ZooKeeper, а два других являются только наблюдателями первого центра обработки данных.

DC1: Usual leader/follower ensemble
DC2: Observers of DC1
DC3: Observers of DC1

Как объясняется в документации ZooKeeper, только машина-лидер может принимать запросы на запись, поэтому подписчики и обозреватели будут сначала направлять эти сообщения руководителю. В случае, если лидер перестает отвечать, новым лидером будет выбран доступный последователь, а ансамбль ZooKeeper останется на месте.

Однако я не нашел никаких ссылок на то, как мы могли бы управлять целыми центрами обработки данных в автономном режиме. Например, если наш ансамбль лидеров / последователей в центре обработки данных 1 недоступен, как мы можем сделать так, чтобы второй центр обработки данных стал основным с обычными машинами лидеров / последователей? Должен ли я отключить узел, изменить его файл конфигурации, чтобы он стал обычным узлом, снова включить его, а затем заменить все другие компьютеры ZooKeeper, чтобы следовать за этим лидером? Есть ли автоматическая система для этого?

1 ответ

Другие вопросы по тегам