Функционал дающий приложению два метода для получения проб на служебном порту для предоставления информации о жизнеспособности и готовности сервиса.
Предоставляется по средствам подключения служебного HTTP сервера.
Эта проба отвечает за признак — является ли приложение живым в данный момент. Kora старается начать отдавать эту пробу как можно раньше, чтобы оркестраторы точно знали, что нет проблем при старте и не пытались сделать рестарт приложения.
Пример конфигурации пути HTTP сервера для получения проб, описанной в классе HttpServerConfig (указаны значения по умолчанию):
===! ":material-code-json: Hocon"
```javascript
httpServer {
privateApiHttpLivenessPath = "/system/liveness"
}
```
=== ":simple-yaml: YAML"
```yaml
httpServer:
privateApiHttpLivenessPath: "/system/liveness"
```
Для создания собственной пробы жизнеспособности требуется чтобы компонент реализовывал интерфейс:
public interface LivenessProbe {
@Nullable
LivenessProbeFailure probe();
}В случае ошибки проба должна возвращать LivenessProbeFailure, а в случае успеха null.
Эта проба отвечает за признак — является ли приложение готовым к работе в данный момент.
Пример конфигурации пути HTTP сервера для получения проб, описанной в классе HttpServerConfig (указаны значения по умолчанию):
===! ":material-code-json: Hocon"
```javascript
httpServer {
privateApiHttpReadinessPath = "/system/readiness"
}
```
=== ":simple-yaml: YAML"
```yaml
httpServer:
privateApiHttpReadinessPath: "/system/readiness"
```
Для создания собственной пробы жизнеспособности требуется чтобы компонент реализовывал интерфейс:
public interface ReadinessProbe {
@Nullable
ReadinessProbeFailure probe();
}В случае ошибки проба должна возвращать ReadinessProbeFailure, а в случае успеха null.
???+ warning "Совет"
**Мы крайне не советуем делать пробы, проверяющие внешние зависимости, такие как базы данных или другие сервисы.**
В случае недоступности внешних зависимостей рекомендуется использовать шаблон [Прерыватель](resilient.md#_2).
Хорошим примером для ReadinessProbe может служить проба, которая возвращает ошибку во время прогрева сервиса.