Чем опасен unclean leader election (unclean.leader.election.enable=true) в Kafka?
- Что жертвует unclean.leader.election.enable=true?
Разрешает стать лидером отставшей реплике вне ISR, когда все реплики ISR недоступны. Партиция снова доступна, но подтверждённые сообщения теряются, а потребители могут увидеть «откат».
- По умолчанию false — выбрана согласованность (CP)
- true — доступность ценой данных (AP); допустимо для метрик и логов
- Для бизнес-событий — только false
А ещё Это прямая иллюстрация CAP на уровне одного параметра
Подробно
Если все реплики ISR недоступны, при unclean.leader.election.enable=true лидером назначается реплика вне ISR, у которой может не быть последних сообщений — это выбор availability ценой потери данных (по сути нарушение C ради A в духе CAP). При false партиция остаётся недоступной, пока не вернётся реплика из ISR — выбор consistency. Для систем, где терять подтверждённые сообщения нельзя, держат false (это и есть дефолт в современных версиях).
Что хотят услышать
- Что происходит при включении.
- Компромисс доступности и потери данных.
- Когда допустимо.
Частые ошибки
- Включать unclean election «чтобы не было простоев», не осознавая потерю данных.
- Путать недоступность партиции с потерей кластера.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗Лидер не выбирается вовсе, и партиция остаётся недоступной, пока весь ISR не восстановится
- ✓Лидером станет отставшая реплика: доступность сохранится, но подтверждённое потеряется
- ✗Все consumer-ы принудительно сбрасывают offset в ноль
- ✗Сообщения дублируются на всех репликах
Что спросят дальше
- Какой компромисс CAP здесь выбирается?
- Когда unclean election допустим?
Разбор темы
- Kafka replication и отказоустойчивость
Leader/followers, ISR и lag, связка acks/min.insync, high watermark и видимость для consumer, выборы лидера и unclean election, rack awareness.
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.