Получить доступ

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

MiddleРепликация KafkaKafka
Ещё спрашивают так:
  • Что жертвует unclean.leader.election.enable=true?
Коротко

Разрешает стать лидером отставшей реплике вне ISR, когда все реплики ISR недоступны. Партиция снова доступна, но подтверждённые сообщения теряются, а потребители могут увидеть «откат».

  • По умолчанию false — выбрана согласованность (CP)
  • true — доступность ценой данных (AP); допустимо для метрик и логов
  • Для бизнес-событий — только false

А ещё Это прямая иллюстрация CAP на уровне одного параметра

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Если все реплики ISR недоступны, при unclean.leader.election.enable=true лидером назначается реплика вне ISR, у которой может не быть последних сообщений — это выбор availability ценой потери данных (по сути нарушение C ради A в духе CAP). При false партиция остаётся недоступной, пока не вернётся реплика из ISR — выбор consistency. Для систем, где терять подтверждённые сообщения нельзя, держат false (это и есть дефолт в современных версиях).

Что хотят услышать

  • Что происходит при включении.
  • Компромисс доступности и потери данных.
  • Когда допустимо.

Частые ошибки

  • Включать unclean election «чтобы не было простоев», не осознавая потерю данных.
  • Путать недоступность партиции с потерей кластера.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✓Лидером может стать реплика вне ISR (отставшая) — кластер сохранит доступность, но потеряет подтверждённые сообщения, которых у неё нет
  • ✗Лидер вообще не выбирается, и партиция становится недоступной навсегда
  • ✗Все consumer-ы принудительно сбрасывают offset в ноль
  • ✗Сообщения дублируются на всех репликах

Что спросят дальше

  • Какой компромисс CAP здесь выбирается?
  • Когда unclean election допустим?

Разбор темы

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

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем