Выбор ответа Middle Очереди, логи и микросервисы обновлено

Порядок сообщений в Kafka

Вопрос

В каком случае Kafka гарантирует порядок сообщений?

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

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

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

Коротко

Правильный ответ: Внутри одной партиции, поэтому заказ шлют с одним ключом. Топик делится на партиции, и порядок есть только внутри партиции.

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

  1. Во всём топике, если у продюсера включена идемпотентность
  2. Не гарантирует: порядок теряется при любой репликации
  3. Внутри одной партиции, поэтому заказ шлют с одним ключомправильный ответ
  4. При одном потребителе в группе, независимо от числа партиций

Разбор

Топик делится на партиции, и порядок есть только внутри партиции. Сообщения с одинаковым ключом попадают в одну партицию, поэтому created → paid → shipped одного заказа придут по порядку, а между разными заказами порядок не определён. Идемпотентный продюсер убирает дубли, но порядка между партициями не даёт, как и один потребитель. Тестовый сценарий: события одного заказа пришли в обратном порядке, сервис должен это пережить.

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

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