Почему это важно
Лидер упрощает упорядочивание записей, но его полномочия ограничены номером срока и кворумом; направление клиентских запросов не заменяет безопасные выборы.
Что подтверждено
В Raft кандидат становится лидером, получив большинство голосов в новом сроке; каждый сервер голосует не более одного раза за срок.
Граница применимости: Выбор лидера в Raft.
Ограничение выборов не позволяет большинству выбрать кандидата, чей журнал отстаёт от уже зафиксированной истории, сохраняя полноту лидера.
Граница применимости: Безопасность выборов Raft.
Что проверить
- Проверяйте номер срока или эпохи.
- Требуйте большинство голосов.
- Отклоняйте записи прежнего лидера.
Первоисточники
In Search of an Understandable Consensus Algorithm (Extended Version)
Stanford University / USENIX · Ongaro and Ousterhout, USENIX ATC 2014 extended paper
Первичное описание Raft: leader election, replicated log, commit majority и safety.
Открыть первоисточник