Основные гарантии — at most once, at least once и exactly once в определённых границах. Они различаются возможностью потерь и повторной обработки; Kafka не делает произвольный внешний эффект автоматически однократным.
Какие есть стратегии/гарантии доставки сообщений (в контексте Kafka)? Их три основных.
Основные гарантии — at most once, at least once и exactly once в определённых границах. Они различаются возможностью потерь и повторной обработки; Kafka не делает произвольный внешний эффект автоматически однократным.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Основные гарантии — at most once, at least once и exactly once в определённых границах. Они различаются возможностью потерь и повторной обработки; Kafka не делает произвольный внешний эффект автоматически однократным.
При фиксации offset до обработки возможна потеря работы, после обработки — повтор при сбое между эффектом и фиксацией. Транзакционная обработка Kafka может согласовать запись результатов в топики и offsets. Для внешней БД или платежа нужны дополнительные механизмы: идемпотентность, дедупликация или согласованный протокол. Всегда уточняйте, что именно считается доставленным и обработанным.