Статьи

Проверка работоспособности с помощью ASP.NET Core и Kubernetes

Проверка работоспособности является фундаментальной частью наших API. Я думаю, они попадают в эту категорию «нефункциональных, но крайне необходимых» вещей. Более или менее как хорошая часть кода инфраструктуры.

Они не увеличивают стоимость бизнеса само по себе , но имеют огромное влияние на тех , кто в ИТ, как DDD и шаблонов проектирования. Обычно вы можете видеть их в сочетании с инструментами управления контейнером или мониторинга, чтобы убедиться, что система работает и работает.

Существуют в основном две категории проверки здоровья: готовность и живучесть.

Проверка работоспособности выполняет тщательную проверку всех зависимостей приложений, таких как базы данных, внешние службы и т. Д. Система загружается и работает, но еще не готова обслуживать входящие запросы.

Вместо этого используются проверки работоспособности, чтобы показать, что приложение готово обслуживать трафик. Они должны выполняться довольно быстро и служить немедленной проверкой, чтобы убедиться, что все в порядке.

Идея состоит в том, чтобы сначала запустить проверки готовности. Если они пройдут, положитесь только на живые в течение определенного времени.

Успешная проверка работоспособности должна вернуть статус HTTP 200 и базовый отчет, особенно для отчетов о готовности.

Настройка проверок в проекте ASP.NET Core довольно проста. Просто добавьте вызов services.AddHealthChecks()в ConfigureServices()методе нашего Startup.cs.

На GitHub есть несколько интересных репозиториев, которые добавляют несколько хороших методов расширения. AspNetCore.Diagnostics.HealthChecks — одна из самых известных, предоставляющая проверки для широкого спектра систем, таких как SQL Server, MySql, Oracle, Kafka, Redis и многих других.

После того, как вы зарегистрировали проверки в DI-контейнере, следующим шагом будет предоставление конечной точки:


C #