Spring Boot Actuator: реактивные показатели работоспособности (Reactive Health Indicators)
Для реактивных приложений, таких как использующие Spring WebFlux, ReactiveHealthContributor предоставляет неблокирующий контракт для получения работоспособности приложения. Подобно традиционному HealthContributor, информация о работоспособности собирается из содержимого ReactiveHealthContributorRegistry (по умолчанию все экземпляры HealthContributor и ReactiveHealthContributor, определенные в ApplicationContext). Обычные HealthContributors, которые не проверяют реактивный API, выполняются в эластичном планировщике.
В реактивном приложении ReactiveHealthContributorRegistry следует использовать для регистрации и отмены регистрации индикаторов состояния во время выполнения. Если вам нужно зарегистрировать обычного HealthContributor, вам следует обернуть его с помощью ReactiveHealthContributor#adapt.
Чтобы предоставить пользовательскую информацию о работоспособности из реактивного API, вы можете зарегистрировать компоненты Spring, которые реализуют интерфейс ReactiveHealthIndicator. В следующем коде показан пример реализации ReactiveHealthIndicator:
@Component
public class MyReactiveHealthIndicator implements ReactiveHealthIndicator {
@Override
public Mono<Health> health() {
return doHealthCheck() //выполняем определенную проверку работоспособности, которая возвращает Mono<Health>
.onErrorResume(ex -> Mono.just(new Health.Builder().down(ex).build()));
}
}
Для автоматической обработки ошибки рассмотрите возможность расширения из AbstractReactiveHealthIndicator.
Автоконфигурируемые ReactiveHealthIndicators
Следующие ReactiveHealthIndicators автоматически конфигурируются Spring Boot при необходимости:
Название | Описание |
---|---|
CassandraReactiveHealthIndicator |
Проверяет, что база данных Cassandra работает. |
CouchbaseReactiveHealthIndicator |
Проверяет, что кластер Couchbase работает. |
MongoReactiveHealthIndicator |
Проверяет, что база данных Mongo работает. |
RedisReactiveHealthIndicator |
Проверяет, что сервер Redis работает. |
При необходимости реактивные показатели заменяют штатные. Кроме того, любой HealthIndicator, который не обрабатывается явно, переносится автоматически.
Читайте также:
- Spring Boot Actuator: конечные точки (endpoints)
- Spring Boot Actuator: информация о работоспособности (health endpoint)
- Spring Boot Actuator: автоконфигурируемые HealthIndicators
- Spring Boot Actuator: написание пользовательских HealthIndicators
Комментарии
Отправить комментарий