Выбор ответа Middle Kafka спрашивают часто обновлено
Момент коммита оффсета
Вопрос
Консьюмер коммитит оффсет сразу после получения сообщения, а потом обрабатывает его. Какая гарантия получится?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: At-most-once: если консьюмер упадёт после коммита, сообщение потеряется. После рестарта чтение продолжится с закоммиченного оффсета, то есть после необработанного сообщения: оно потеряется.
Варианты ответа
- At-least-once: при падении консьюмера сообщение будет прочитано повторно
- At-most-once: если консьюмер упадёт после коммита, сообщение потеряетсяправильный ответ
- Exactly-once: оффсет и обработка связаны одним коммитом консьюмера
- Каждое сообщение будет обрабатываться дважды, при любом рестарте
Разбор
После рестарта чтение продолжится с закоммиченного оффсета, то есть после необработанного сообщения: оно потеряется. Коммит после обработки даёт at-least-once: потерь нет, но возможны повторы. Exactly-once требует транзакций или идемпотентного приёмника. «Всегда дважды» не происходит.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.