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

Сервис каталога переименовал колонку, а упал сервис заказов

Монолит разделили на сервисы «каталог» и «заказы», но оба продолжают работать с одной базой PostgreSQL. Команда каталога переименовала колонку products.price в products.base_price и выкатила релиз. Через минуту сервис заказов начал отвечать 500 — он читал цену прямо из таблицы products.

Какая архитектурная проблема здесь проявилась?

  • Общая база связала сервисы: схема таблицы стала их скрытым контрактом
  • Не хватило внешнего ключа между таблицами заказов и товаров
  • Команда каталога не запустила миграции в сервисе заказов
  • Сервису заказов нужен кэш цен в Redis, тогда падения бы не было

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

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

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

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