Kafka позволяет строить 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 обработку в определённом контуре. Идемпотентность означает, что повтор операции не создаёт дополнительного эффекта.
Producer idempotence защищает от части дублей повторной отправки, а consumer должен учитывать повтор после сбоя до commit offset. Для внешней БД полезны уникальный event_id и атомарный inbox. Kafka transactions не превращают произвольный HTTP-вызов в однократный. Гарантию всегда описывают вместе с настройками, границами транзакции и поведением при отказе.