awesome-everything EN
↑ Обратно к восхождению

Распределённые системы

Выбор лидера: тест с выбором ответа

Суть Тест с выбором на синтез по всему юниту leader election — term'ы и таймауты, lease против часов, split-brain и fencing-токен, который обязан проверять ресурс.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 13 min

Шесть вопросов поперёк всего юнита. Каждый отражает решение, которое ты принимаешь в реальном инциденте — не определение для заучивания, а аргумент безопасности, который надо защитить, когда лидер встаёт на паузу, partition заживает или два узла одновременно претендуют на корону.

Цель

Убедись, что связываешь, зачем вообще выбирать лидера, как Raft выбирает его безопасно, почему lease — это утверждение о часах, которым нельзя верить, и почему только проверяемый ресурсом fencing-токен закрывает окно split-brain.

Викторина

Лидер держит 10-секундный lease и пишет в объектное хранилище; ты наблюдал многосекундные GC-паузы. Какая мера действительно закрывает окно устаревшей записи, а не просто сужает его?

Викторина

Почему Raft выбирает election timeout каждого фолловера случайно из диапазона примерно 150–300 мс вместо одного фиксированного значения?

Викторина

Сеньор говорит: «lease не ограничивает, сколько приостановленный лидер будет верить, что лидирует». В чём точная причина и каково последствие?

Викторина

Команда добавила fencing-токены: лок-сервис раздаёт строго возрастающие числа, а лидер штампует ими каждую запись. Инциденты продолжаются. Какой пробел наиболее вероятен?

Викторина

Кластер из 5 узлов разделён сетевым partition на 3-2. Как ведёт себя корректный протокол выбора на кворуме и почему?

Викторина

Тебе нужно «запустить этот cron ровно на одном хосте», и ты берёшь распределённый лок. Ревьюер предупреждает, что лока одного для корректности мало. Чего не хватает?

Итог

Сквозная линия юнита — одно дерево решений: выбери единственного лидера, чтобы сериализовать записи (Raft использует term’ы плюс рандомизированные таймауты 150–300 мс, чтобы выбрать его безопасно), держи лидерство как lease, который координатор может истечь, — но никогда не верь, что приостановленный лидер знает, что потерял lease. Partition обрабатывается кворумом (лидирует только большинство); пауза обрабатывается монотонным fencing-токеном, который навязывает сам защищаемый ресурс. Выбирай ради liveness, отсекай ради safety — и помни, что голый лок или lease без проверки токена на стороне ресурса не даёт тебе ничего против устаревшей записи.

Продолжить восхождение ↑Выбор лидера: тест на свободное воспроизведение
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.