Перейти к содержанию

Пробы приложения

Предоставляет приложению два метода для получения проб на приватном порту (по умолчанию 8085) для предоставления информации о жизнеспособности и готовности сервиса.

Dependency

Входит в базовую ru.tinkoff.kora:common зависимость.

Liveness probe

Эта проба отвечает за признак — является ли приложение живым в данный момент. Kora старается начать отдавать эту пробу как можно раньше, чтобы оркестраторы точно знали, что нет проблем при старте и не пытались сделать рестарт приложения.

По умолчанию она доступна по пути /system/liveness, но её можно настроить через конфигурацию:

httpServer {
    privateApiHttpLivenessPath = "/liveness"
}

Readiness probe

Эта проба отвечает за признак — является ли приложение готовым к работе в данный момент.

По умолчанию она доступна по пути /system/readiness, но её можно настроить через конфигурацию.

httpServer {
    privateApiHttpReadinessPath = "/readiness"
}

Создание своих проб

Для того чтобы добавить свою пробу, достаточно в контейнер добавить свою реализацию класса ru.tinkoff.kora.common.liveness.LivenessProbe или ru.tinkoff.kora.common.readiness.ReadinessProbe.

!! Мы крайне не рекомендуем делать пробы, которые проверяют внешние зависимости, например базы данных или другие сервисы !!
В случае недоступности каких то внешних зависимостей рекомендуется использовать circuit breaker pattern.

Хорошим примером для readiness probe может служить проба, которая возвращает ошибку во время прогрева сервиса.