Вопрос с собеседования · Брокеры сообщений

Чем опасен unclean leader election (unclean.leader.election.enable=true) в Kafka?

MiddleРепликация KafkaKafka
Ещё спрашивают так:
  • Что жертвует 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 допустим?

Разбор темы

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования