Exactly-once требует атомарности результата и отметки об обработке либо идемпотентного эффекта. Одного ручного commit offset недостаточно.
Что нужно сделать на консюмере для exactly-once?
Exactly-once требует атомарности результата и отметки об обработке либо идемпотентного эффекта. Одного ручного commit offset недостаточно.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Exactly-once требует атомарности результата и отметки об обработке либо идемпотентного эффекта. Одного ручного commit offset недостаточно.
Если эффект записывается в БД, используйте уникальный идентификатор события и транзакцию: проверка/фиксация обработки вместе с бизнес-изменением. Offset подтверждают после успешной записи; повторная доставка тогда безопасна. Для Kafka-to-Kafka возможна транзакционная связка выходных сообщений и offsets, а внешняя БД в такую транзакцию автоматически не входит. Нужно определить границу гарантии, а не обещать отсутствие повторных доставок.