API Состояния (Health)
API Состояния предоставляет эндпоинты для мониторинга состояния системы Ordinaut. Они необходимы для производственных операций, балансировки нагрузки и автоматического восстановления.
GET /health
Предоставляет всестороннюю и подробную проверку состояния всей системы и ее компонентов (базы данных, Redis, планировщика, воркеров). Это лучший эндпоинт для общего обзора состояния системы.
Пример ответа:
{
"status": "healthy",
"timestamp": "2025-01-11T10:45:00Z",
"version": "1.0.0",
"checks": [
{
"name": "database",
"status": "healthy",
"message": "Пул соединений PostgreSQL исправен"
},
{
"name": "redis",
"status": "healthy",
"message": "Соединение с Redis активно"
}
]
}
GET /health/ready
Легковесный эндпоинт, подходящий для проверки готовности (readiness probe) Kubernetes. Он возвращает статус 200 OK
, если сервис готов принимать трафик (например, доступны подключения к базе данных и кэшу). Балансировщик нагрузки должен направлять трафик на экземпляр только в том случае, если эта проверка проходит.
GET /health/live
Минимальный эндпоинт, подходящий для проверки работоспособности (liveness probe) Kubernetes. Он возвращает статус 200 OK
, если процесс API жив и отвечает. Эта проверка не проверяет нижестоящие зависимости. Если эта проверка не удалась, система контейнеров должна перезапустить экземпляр.