Вы взяли пачку из 500 сообщений из Kafka, но не можете сохранить в БД. Что произойдёт? Как долго можно обрабатывать эти 500 сообщений?

При ошибке БД нельзя подтверждать обработку пачки как успешную. Её нужно повторить или сохранить для восстановления; длительная обработка ограничена настройками consumer и протоколом группы.

Короткий ответ

Что ответить на собеседовании

При ошибке БД нельзя подтверждать обработку пачки как успешную. Её нужно повторить или сохранить для восстановления; длительная обработка ограничена настройками consumer и протоколом группы.

Подробный разбор

Ответ с пояснениями

При ошибке БД нельзя подтверждать обработку пачки как успешную. Её нужно повторить или сохранить для восстановления; длительная обработка ограничена настройками consumer и протоколом группы.

Если offset не зафиксирован, после перезапуска или ребалансировки сообщения могут прийти снова. Уже записанную часть пачки должна защищать идемпотентность либо транзакционная стратегия.

В типичном Java consumer важен max.poll.interval.ms: чрезмерный промежуток между poll может привести к потере назначения. Heartbeat не заменяет соблюдение этого контракта. Универсального времени для 500 сообщений нет: уменьшайте batch, управляйте паузой чтения и согласуйте таймауты с измеренным временем обработки.

Источник: Документация Apache Kafka.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее