Выбор ответа Senior Микросервисы глазами аналитика обновлено

Контрактные тесты

Вопрос

Команда платежей меняет API, и периодически ломаются три сервиса-потребителя. Какая практика лучше всего предотвращает это?

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

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

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

Коротко

Правильный ответ: Consumer-driven contract testing: ожидания потребителей в CI поставщика. Контракты от потребителей (например, Pact) ловят ломающие изменения до релиза у поставщика.

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

  1. Общая библиотека моделей, которую все сервисы обновляют одновременно
  2. Запрет на любые изменения API после первого релиза
  3. Consumer-driven contract testing: ожидания потребителей в CI поставщикаправильный ответ
  4. Ручное тестирование всех потребителей перед каждым релизом платежей

Разбор

Контракты от потребителей (например, Pact) ловят ломающие изменения до релиза у поставщика. Ручная проверка медленная и ненадёжная. Запрет изменений останавливает развитие. Общая библиотека связывает релизы всех сервисов, это шаг к распределённому монолиту.

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

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