Вступить в клуб →
средняявопросAPI и интеграции

События по одному заказу приходят потребителю не в том порядке

Сервис публикует события OrderCreated, OrderPaid, OrderShipped в топик Kafka с шестью партициями. Ключ сообщения не задаётся.

Потребитель жалуется: иногда OrderPaid по заказу приходит раньше, чем OrderCreated, и обработка падает.

В чём причина?

  • Порядок в Kafka гарантируется только внутри партиции; ключом сообщения нужно сделать идентификатор заказа
  • Порядок нарушается из-за нескольких потребителей в группе: нужно оставить одного потребителя на весь топик
  • Kafka не гарантирует порядок ни при каких условиях: упорядочивать сообщения обязан потребитель по метке времени
  • Причина в повторных отправках продюсера: достаточно отключить повторы при ошибках сети

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела