Выбор ответа Senior Kafka обновлено
Идемпотентный продюсер
Вопрос
От каких дублей защищает идемпотентный продюсер Kafka?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: От дублей при ретраях продюсера, когда ответ потерялся, а запись прошла: брокер отбросит повтор. Продюсер получает идентификатор и нумерует сообщения в каждой партиции, брокер видит повтор номера и не пишет его второй раз.
Варианты ответа
- От любых дублей во всей системе, включая повторную обработку сообщения на консьюмере после ребаланса
- От дублей при ретраях продюсера, когда ответ потерялся, а запись прошла: брокер отбросит повторправильный ответ
- От одинаковых сообщений, отправленных разными продюсерами: брокер сравнивает ключ и тело
- От дублей при повторной публикации из приложения после его рестарта с тем же client.id
Разбор
Продюсер получает идентификатор и нумерует сообщения в каждой партиции, брокер видит повтор номера и не пишет его второй раз. Это закрывает дубли сетевых ретраев. Повторная обработка на консьюмере, одинаковые события от разных продюсеров и повторная отправка после рестарта приложения (новая сессия продюсера) этим механизмом не покрываются: нужны транзакции или дедупликация по id события.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.