Для чего делали ручной commit offset вместо автокоммита?

Ручной commit offset позволяет подтверждать продвижение после успешной обработки, а не по таймеру. Это снижает риск пропуска необработанного сообщения, но не исключает повторную доставку.

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

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

Ручной commit offset позволяет подтверждать продвижение после успешной обработки, а не по таймеру. Это снижает риск пропуска необработанного сообщения, но не исключает повторную доставку.

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

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

Ручной commit offset позволяет подтверждать продвижение после успешной обработки, а не по таймеру. Это снижает риск пропуска необработанного сообщения, но не исключает повторную доставку.

После сбоя между бизнес-операцией и commit сообщение может прийти снова, поэтому обработка должна быть идемпотентной. При параллельной работе подтверждайте только непрерывно обработанный диапазон партиции, а не самый большой завершившийся offset. Kafka хранит позицию следующего сообщения. В ответе объясните, какая гарантия требовалась именно вашему сервису.

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

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

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

Подробнее