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

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

Сервис публикует события жизненного цикла заказа (created, paid, shipped) в топик с 6 партициями. Ключ сообщения не задаётся. Потребитель периодически видит paid раньше created и падает на переходе статуса. Что исправит ситуацию?

  • Увеличить число партиций топика — порядок восстановится за счёт более равномерного распределения сообщений
  • Включить `acks=all` на продюсере — подтверждение от всех реплик выстроит события в порядке отправки
  • Публиковать события с ключом `order_id` — все события одного заказа попадут в одну партицию, где порядок сохраняется
  • Сортировать полученные события по временной метке в памяти потребителя перед применением перехода статуса

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

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

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

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