Выбор лидера
Определение
Выбор лидера — процедура, в ходе которой узлы распределённой группы договариваются, кто из них получит право предлагать записи журнала на ближайший срок. В Raft кандидат становится лидером, собрав большинство голосов, а каждый узел отдаёт в одном сроке не больше одного голоса.
Также ищут: Leader election · consensus leader election
Зачем это знать
Лидер упрощает упорядочивание записей, но его полномочия ограничены номером срока и кворумом; направление клиентских запросов не заменяет безопасные выборы.
Карта понятия
Что подтверждено
В Raft кандидат становится лидером, получив большинство голосов в новом сроке; каждый сервер голосует не более одного раза за срок.
Граница применимости: Выбор лидера в Raft.
Ограничение выборов не позволяет большинству выбрать кандидата, чей журнал отстаёт от уже зафиксированной истории, сохраняя полноту лидера.
Граница применимости: Безопасность выборов Raft.
Что проверить
- Проверяйте номер срока или эпохи.
- Требуйте большинство голосов.
- Отклоняйте записи прежнего лидера.
Первоисточники
- In Search of an Understandable Consensus Algorithm (Extended Version)
Первичное описание Raft: leader election, replicated log, commit majority и safety.