Kafka / микросервисы middle
Что такое Гарантии доставки?
Ответ
at-most-once — может потеряться (но не дублируется). at-least-once — может продублироваться, но не теряется (default). exactly-once — idempotent producer + transactional + read_committed на консьюмере. В проде: at-least-once + идемпотентная обработка (upsert в БД).
Разбор: at-most-once допускает потери (но не дубли), at-least-once — дубли (но не потери, это дефолт), exactly-once требует идемпотентного продюсера + транзакций + read_committed на консьюмере; на практике берут at-least-once плюс идемпотентную обработку (upsert). Дистракторы меняют местами свойства потерь/дублей, утверждают, что exactly-once даёт один acks=all или вовсе невозможна, и предлагают опасный acks=0, который как раз ведёт к потерям.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.