Консенсус и выбор лидера
как несколько нод приходят к согласию о состоянии — фундамент Kafka, etcd, Cassandra и др.
Почему это важно: Консенсусные алгоритмы (Raft, Paxos) лежат в основе всех современных распределённых систем. Понимание их основы — ключ к работе с инфраструктурой.
Главная идея
Группа узлов выбирает лидера, который принимает все решения и реплицирует их на остальных.
Как это выглядит на практике
- Кластер из 5 нод запускается.
- Ноды голосуют, выбирают лидера большинством.
- Лидер принимает запросы и реплицирует записи на followers.
- При падении лидера запускается новое голосование.
Что происходит под капотом
- Raft: понятный алгоритм консенсуса с разделением на leader election и log replication.
- Paxos: исторически первый, сложнее для понимания, лежит в основе многих систем.
- Quorum: большинство (N/2 + 1) необходимо для принятия решений.
- Split brain: предотвращается требованием большинства.
Типичные ошибки и заблуждения
- Ошибка: 2 ноды достаточно для отказоустойчивости. Нужно минимум 3 для большинства.
- Ошибка: больше нод всегда лучше. Латентность консенсуса растёт с числом нод.
- Ошибка: консенсус мгновенный. Каждое решение — это round-trip между нодами.
- Ошибка: лидер должен быть всегда. При отказе временно никто не лидер.
Ключевые выводы
- Минимум 3 ноды для real consensus.
- Большинство = quorum.
- Лидер упрощает координацию.
- Консенсус не бесплатен по latency.
Термины урока
Связь с работой backend-разработчика
Понимание консенсуса помогает осознанно настраивать кластеры (количество нод, read/write quorum) и интерпретировать поведение БД при сбоях.
Мини-разбор реальной ситуации
Команда запустила etcd на 2 нодах для 'экономии'. При сбое одной — кластер становился недоступен полностью. Перевели на 3 ноды — отказоустойчивость восстановлена.
Что запомнить
- Минимум 3 ноды для отказоустойчивости.
- Quorum = большинство.
- Консенсус стоит latency.
Итог
Консенсусные алгоритмы — это сердце распределённых систем. Без них невозможно надёжно координировать работу множества нод.
Комментарии к уроку
Войдите, чтобы оставить комментарий.
Пока нет комментариев — будьте первым.