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

Что такое Kafka rebalance и почему он опасен для обработки сообщений?

SeniorKafka в эксплуатацииKafka
Ещё спрашивают так:
  • Почему при ребалансе обработка останавливается?
Коротко

Ребаланс — перераспределение партиций при входе или выходе участника группы. При eager-протоколе все отдают партиции и ждут нового назначения — обработка стоит; незакоммиченная работа повторится.

  • Причины: деплой, автомасштабирование, долгая обработка (max.poll.interval.ms), потеря heartbeat
  • Cooperative-sticky перераспределяет только нужные партиции, без общей остановки
  • Static membership (group.instance.id) переживает перезапуск без ребаланса

А ещё Коммитить обработанное в onPartitionsRevoked

Подробно

Он случается при добавлении/падении consumer, timeout heartbeat, изменении partitions. Во время rebalance обработка временно останавливается, partitions revoked у consumers; обработчик rebalance должен зафиксировать прогресс по отозванным partitions и корректно остановить in-flight работу.

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

  • Что такое ребаланс и что его вызывает.
  • Почему опасен: пауза и повторная обработка.
  • Как смягчить: cooperative, static membership, коммит при отзыве.

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

  • Долго обрабатывать batch и превышать max.poll.interval.ms.
  • Не обрабатывать partition revoke callbacks.

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

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

Показать варианты и ответ
  • ✗Перенос лидеров партиций между брокерами; потребители его не замечают
  • ✗Перераспределение сообщений между партициями топика по новому ключу, из-за которого теряется порядок внутри партиции
  • ✓Перераспределение партиций в группе; при eager-протоколе обработка останавливается, а незакоммиченное повторится
  • ✗Сжатие журнала, во время которого удаляются старые версии ключей

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

  • Что делает heartbeat thread?
  • Что такое cooperative rebalance?

Разбор темы

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

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

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

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

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