#spring-boot #spring-cloud #circuit-breaker #resilience4j #spring-cloud-circuitbreaker
#загрузка Spring-boot #spring-cloud #автоматический выключатель #отказоустойчивость 4j #spring-cloud-прерыватель цепи
Вопрос:
Мы используем Spring cloud circuitbreaker для обработки сбоев при вызовах внешней службы. У нас также есть запланированное задание, которое вызывает эту службу. Я хотел бы запретить выполнение задания, если прерыватель цепи открыт, но я не вижу никакого способа проверить это, поскольку ни прерыватель цепи (Resilience4JCircuitBeaker), ни методы CircuitBreakerFactory expose, которые позволяют это проверять. Есть ли другой способ добиться этого?
Ответ №1:
В качестве альтернативы вы можете использовать наш стартер Resilience4j Spring Boot 2 и внедрить CircuitBreakerRegistry в свой класс, чтобы проверить состояние экземпляра прерывателя цепи. Наш стартер имеет множество других преимуществ, таких как внешняя конфигурация, поддержка аннотаций, метрики, …
В принципе, вы можете копировать фрагменты кода нашего CircuitBreakersHealthIndicator
класса.
Комментарии:
1. Большое спасибо @robert-winkler, это сработало отлично. Я пока оставлю вопрос без ответа на случай, если кто-нибудь знает, как это сделать с помощью Spring Cloud circuitbreaker.