Выбор лидера: тест на свободное воспроизведение
Промпты на свободное воспроизведение по всему юниту leader election. Сначала ответь своими словами, затем открой образцовый ответ и сравни.
Воспроизведение по памяти бьёт перечитывание. Для каждого промпта проговори или запиши полный ответ из головы, прежде чем открыть образцовый — усилие восстановить аргумент безопасности и есть то, что закрепит его, когда тебя поднимут в 3 часа ночи.
Восстанови спину юнита, не подглядывая: зачем существует единственный лидер, как Raft его выбирает, почему lease нельзя доверять через паузу, что такое split-brain и как именно fencing-токен закрывает окно.
- 01Зачем вообще выбирать единственного лидера и какую цену ты платишь взамен?
- 02Пройди по тому, как Raft выбирает лидера, и почему election timeout рандомизирован.
- 03Объясни, почему lease сам по себе не предотвращает запись двух узлов как лидеров.
- 04Дай определение split-brain и назови две его разные причины из юнита.
- 05Опиши механизм fencing-токена от начала до конца и назови единственное условие, без которого он бесполезен.
- 06Сравни, как ZooKeeper и etcd представляют и обнаруживают потерю лидерства при failover.
Если ты смог восстановить каждый ответ по памяти, ты держишь спину юнита: единственный лидер сериализует записи, но создаёт единую точку отказа, которую надо безопасно перевыбрать; Raft делает это term’ами и рандомизированными таймаутами 150–300 мс; лидерство — продлеваемый lease или сессия (lease TTL у etcd, ephemeral znode у ZooKeeper), чьё окно обнаружения ограничивает failover; lease не может остановить застывшего лидера от пробуждения и записи, что является одним из двух лиц split-brain (другое — partition, обрабатываемый кворумом); и только монотонный fencing-токен, навязанный у ресурса, делает устаревшую запись невозможной. Теперь, когда встретишь инцидент выбора лидера в постмортеме, твой первый вопрос — навязывал ли слой хранилища fencing-токен, или система только держала лок?
Что-то непонятно?
Задай вопрос по этому уроку. Вопросы анонимны и попадают напрямую автору — урок станет лучше.