Вступить в клуб →
сложнаявопросМикросервисы и обмен событиями

Из события убрали поле, и три чужих сервиса упали после релиза

Сервис заказов публикует событие order_paid в JSON. Команда решила, что поле customer_email там больше не нужно, и удалила его. Про потребителей события знали смутно. После релиза упали сервис писем, аналитика и CRM — все читали это поле.

Какой подход предотвратил бы это?

  • Считать схему события контрактом: изменения только совместимые, удаление — через версию
  • Перейти с JSON на XML — там схема обязательна
  • Потребители должны были подписаться на изменения кода сервиса заказов
  • Публиковать в каждое событие полную копию заказа со всеми полями

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

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

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

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