Проверка работоспособности сервиса Downstream - PullRequest
0 голосов
/ 10 января 2019

Я хочу написать проверку работоспособности всех моих услуг нисходящего потока, которые используются нашими службами. мы можем легко написать для методов GET, это ни на что не повлияет. но как это сделать для методов POST / PUT, поскольку это изменяет существующие значения?

1 Ответ

0 голосов
/ 12 января 2019

В зависимости от требований вашего домена у вас могут отличаться ожидания от проверки работоспособности. Возможности:

  1. Служба работает. Вы вызываете только один метод сервиса, чтобы проверить только код возврата. Вы только хотите убедиться, что вся служба не сбоила и т. Д. Это наиболее распространенная форма проверки работоспособности.
  2. Функциональные особенности. Вот как звучит ваша идея: сервис вызывается и возвращаемые параметры оцениваются.
  3. Полный тест. Служба вызывается с тем же тестовым покрытием, что и до авторизации развертывания.
  4. Сервис Внутренний. Служба предлагает специальную конечную точку для проверки работоспособности, которая дает подробное представление о работоспособности службы.

В большинстве распределенных систем проверка работоспособности выполняется только на уровне обслуживания (вариант 1), и в этом случае не имеет значения, какая конечная точка выбрана, а иногда не имеет значения, какой будет возврат (может быть ошибка например, если это не тайм-аут).

Чем глубже объем теста, тем больше времени займет выполнение и тем реже вы сможете его выполнить.

Самой тщательной проверкой работоспособности будет полный модульный тест (например, публикация / изменение и удаление различных наборов данных). Однако, если это нежелательно для снижения производительности, вы можете полагаться на одну из нескольких вещей:

  1. Post / put с недопустимыми параметрами. Просто чтобы проверить, возвращает ли сервис ожидаемый код ошибки (например, по сравнению с тайм-аутом).
  2. Реализуйте тестовый режим в вашем сервисе, например, хотя и передавая специальный параметр или специальную конечную точку, которая может выполнять внутренний тест.
  3. Попросите сервисы реализовать бизнес-цели, чтобы у полного сервиса не только были методы POST / PUT, но и GET. И тогда вы используете GET только для определения работоспособности сервиса.
...