В чем разница между статусом проверки работоспособности Unhealthy и Degraded .NET? - PullRequest
0 голосов
/ 26 августа 2018

У меня есть приложение, работающее в Kubernetes. Чтобы воспользоваться преимуществами развертывания обновлений без простоев, я должен реализовать надлежащие проверки работоспособности, чтобы кластер мог знать, когда приложение / контейнер готово обрабатывать запросы.

Я пытаюсь использовать новую функцию ASP.NET Code 2.2 Healthchecks .

Я должен вернуть Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckResult структуру со статусом приложения.

Эта структура имеет 3 статических метода, которые я могу использовать для возврата этого статуса:

  • Healthy
  • Нездоровый
  • Degraded

В каких ситуациях приложение не в порядке, что я должен использовать Unhealthy vs Degraded? Несколько примеров было бы хорошо.

1 Ответ

0 голосов
/ 27 августа 2018

«Ухудшенная» проверка может использоваться для проверок, которые были успешными, но медленными или нестабильными. Например. простой запрос к базе данных прошел успешно, но занял больше секунды. Перемещение трафика в другой экземпляр, вероятно, является хорошей идеей, пока проблема не будет решена.

«Нездоровая» проверка означает, что компонент не работает вообще. Например. не удалось установить соединение с кэшем Redis. Перезапуск экземпляра может решить эту проблему.

Цитирование сообщения в блоге:

Неудачный тест живучести сообщает: Приложение упало. Вам следует выключите его и перезапустите.

Сбой проверки готовности говорит: Приложение в порядке, но еще не готово обслуживать трафик.

Можно сказать, что «ухудшенная» проверка работоспособности сопоставляется с датчиком «готовности», а «нездоровая» проверка - с проверкой «живучести».

...