Выбор ответа Middle Kafka спрашивают часто обновлено

Момент коммита оффсета

Вопрос

Консьюмер коммитит оффсет сразу после получения сообщения, а потом обрабатывает его. Какая гарантия получится?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: At-most-once: если консьюмер упадёт после коммита, сообщение потеряется. После рестарта чтение продолжится с закоммиченного оффсета, то есть после необработанного сообщения: оно потеряется.

Варианты ответа

  1. At-least-once: при падении консьюмера сообщение будет прочитано повторно
  2. At-most-once: если консьюмер упадёт после коммита, сообщение потеряетсяправильный ответ
  3. Exactly-once: оффсет и обработка связаны одним коммитом консьюмера
  4. Каждое сообщение будет обрабатываться дважды, при любом рестарте

Разбор

После рестарта чтение продолжится с закоммиченного оффсета, то есть после необработанного сообщения: оно потеряется. Коммит после обработки даёт at-least-once: потерь нет, но возможны повторы. Exactly-once требует транзакций или идемпотентного приёмника. «Всегда дважды» не происходит.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.