Health check

Health check — эндпоинт или проверка, по которой система понимает, здоров ли сервис.

Простейший health check возвращает 200, если процесс жив. Хороший — проверяет зависимости: базу, кэш, очередь, внешние API. Иначе балансировщик считает сервис здоровым, пока пользователи видят ошибки.

Частая ошибка — health check, который всегда отдаёт 200. Такой эндпоинт бесполезен: он не замечает деградацию и не выводит сервер из балансировки.

Как это связано с мониторингом

Монитера проверяет health-эндпоинты извне с нескольких точек, контролирует время ответа и содержимое, а не только код 200.

Liveness и readiness — в чём разница?

Liveness — жив ли процесс, readiness — готов ли принимать трафик.

Нужен ли health check, если есть мониторинг?

Да, он нужен балансировщику внутри; мониторинг проверяет снаружи.

Что должен проверять health check?

Критичные зависимости, но быстро и без тяжёлых запросов.