Выбор ответа Senior Kafka обновлено
Бесконечная ребалансировка
Вопрос
Консьюмер обрабатывает пачку сообщений по 10 минут (тяжёлые запросы к API), группа постоянно ребалансируется, lag растёт. Что вероятнее всего происходит?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Время между poll превышает max.poll.interval.ms, и консьюмера выкидывают из группы. Если консьюмер не вызывает poll дольше max.poll.interval.ms (по умолчанию 5 минут), координатор исключает его и запускает ребалансировку; его оффсеты не закоммичены, и пачку обрабатывает кто-то другой, и так по кругу.
Варианты ответа
- В топике закончилось место, и брокер замедляет выдачу сообщений консьюмерам
- Брокер перегружен репликацией и не успевает отвечать на heartbeat консьюмеров группы
- Ключи сообщений слишком длинные, и десериализация пачки занимает минуты
- Время между poll превышает
max.poll.interval.ms, и консьюмера выкидывают из группыправильный ответ
Разбор
Если консьюмер не вызывает poll дольше max.poll.interval.ms (по умолчанию 5 минут), координатор исключает его и запускает ребалансировку; его оффсеты не закоммичены, и пачку обрабатывает кто-то другой, и так по кругу. Лечится меньшим max.poll.records, асинхронной обработкой с управлением паузой партиций или увеличением интервала. Место на диске, репликация и длина ключей такой картины не дают.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.