Какие гарантии доставки существуют в Kafka?

Kafka позволяет строить at-most-once и at-least-once обработку, а транзакции и идемпотентный producer дают более сильные гарантии в определённых границах. End-to-end exactly-once не возникает автоматически.

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

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

Kafka позволяет строить at-most-once и at-least-once обработку, а транзакции и идемпотентный producer дают более сильные гарантии в определённых границах. End-to-end exactly-once не возникает автоматически.

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

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

Kafka позволяет строить at-most-once и at-least-once обработку, а транзакции и идемпотентный producer дают более сильные гарантии в определённых границах. End-to-end exactly-once не возникает автоматически.

Commit offset до эффекта может потерять обработку, после эффекта — допустить повтор. Транзакции Kafka могут согласовать запись результатов и offsets при подходящем режиме чтения. Внешняя БД или HTTP-эффект требуют собственной идемпотентности либо согласования. Уточняйте acks, репликацию и consumer isolation, а не называйте одну гарантию для любого приложения.

Источник: Документация Apache Kafka.

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

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

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

Подробнее