Выбор ответа Senior Kafka в Spring обновлено

Долгая обработка пачки

Вопрос

Слушатель обрабатывает пачку 500 сообщений около 10 минут. Что произойдёт при настройках по умолчанию?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Превышен max.poll.interval.ms: ребалансировка и повторная доставка. Если между вызовами poll проходит больше max.poll.interval.ms, брокер считает потребителя зависшим и отдаёт его партиции другим.

Варианты ответа

  1. Превышен max.poll.interval.ms: ребалансировка и повторная доставкаправильный ответ
  2. Ничего: Kafka ждёт обработку пачки сколько угодно долго
  3. Kafka удалит необработанные сообщения пачки по таймауту
  4. Потребитель параллельно получит следующую пачку сообщений и начнёт её

Разбор

Если между вызовами poll проходит больше max.poll.interval.ms, брокер считает потребителя зависшим и отдаёт его партиции другим. Offset не закоммичен, поэтому сообщения обработают снова, возможно параллельно с ещё работающим старым. Лечат уменьшением max.poll.records, ускорением обработки или увеличением интервала. Сообщения не удаляются.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме