Zookeeper "внутренние" против "внешних" выборов лидера - PullRequest
0 голосов
/ 10 февраля 2020

Zookeeper дает полную гарантию заказа и причинного заказа, что делает отличным сервисом выбор лидера для вашего сервиса с помощью ZooKeeper. Все экземпляры вашего сервиса пишут в один и тот же znode, и в качестве лидера может быть выбран тот, у которого наименьшее число zkid.

Однако, чтобы дать гарантии общего и причинного порядка, все записи в ансамбле zookeeper go через "внутреннего" лидера зоопарка. Теперь, если тот «внутренний» лидер зоопарка потерпит крах, ансамбль должен выбрать нового лидера. Однако вы не можете использовать вышеописанный механизм записи znode для выбора лидера (потому что вам нужен лидер для записи в znodes). Так как же зоопарк внутренне избирает нового лидера? Протокол ZAB просто говорит, что фаза 0 - это предполагаемые выборы лидера без четкого указания, какой алгоритм используется.

...