Kafka: если offset уже сдвинут, а сервис, обрабатывающий сообщение, зафейлился и потерял его — что можно сделать?

Если commit offset выполнен до надёжной обработки, обычное продолжение группы пропустит сообщение. При сохранённом логе можно переобработать нужный диапазон offsets, контролируя дубликаты.

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

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

Если commit offset выполнен до надёжной обработки, обычное продолжение группы пропустит сообщение. При сохранённом логе можно переобработать нужный диапазон offsets, контролируя дубликаты.

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

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

Если commit offset выполнен до надёжной обработки, обычное продолжение группы пропустит сообщение. При сохранённом логе можно переобработать нужный диапазон offsets, контролируя дубликаты.

Не сбрасывайте offsets рабочей группы вслепую: сначала установите потерянный диапазон и согласуйте остановку или отдельную replay-группу. Побочные эффекты должны быть идемпотентны, иначе повтор повредит данные. Если сообщение уже удалено по retention и резервной копии нет, Kafka не восстановит его магически. Для предотвращения фиксируйте прогресс после успешной обработки или используйте подходящую атомарную схему записи результата.

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

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

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

Подробнее