При ошибке БД нельзя подтверждать обработку пачки как успешную. Её нужно повторить или сохранить для восстановления; длительная обработка ограничена настройками consumer и протоколом группы.
Вы взяли пачку из 500 сообщений из Kafka, но не можете сохранить в БД. Что произойдёт? Как долго можно обрабатывать эти 500 сообщений?
При ошибке БД нельзя подтверждать обработку пачки как успешную. Её нужно повторить или сохранить для восстановления; длительная обработка ограничена настройками consumer и протоколом группы.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
При ошибке БД нельзя подтверждать обработку пачки как успешную. Её нужно повторить или сохранить для восстановления; длительная обработка ограничена настройками consumer и протоколом группы.
Если offset не зафиксирован, после перезапуска или ребалансировки сообщения могут прийти снова. Уже записанную часть пачки должна защищать идемпотентность либо транзакционная стратегия.
В типичном Java consumer важен max.poll.interval.ms: чрезмерный промежуток между poll может привести к потере назначения. Heartbeat не заменяет соблюдение этого контракта. Универсального времени для 500 сообщений нет: уменьшайте batch, управляйте паузой чтения и согласуйте таймауты с измеренным временем обработки.
Источник: Документация Apache Kafka.