1.4 KiB
1.4 KiB
Spring Cloud Circuit Breaker
Spring Cloud Circuit Breaker项目包含Resilience4J实现和Spring Retry实现。
配置Resilience4J Circuit Breakers
关于resilience4J Circuit Breakers实现,拥有如下两个启动器,一个用于响应式项目,另一个用于非响应式项目:
org.springframework.cloud:spring-cloud-starter-circuitbreaker-resilience4jorg.springframework.cloud:spring-cloud-starter-circuitbreaker-reactor-resilience4j
关闭自动装配
可以通过设置spring.cloud.circuitbreaker.resilience4j.enabled为false来关闭Resilience4J的自动装配
默认配置
如果想要为所有的circuit breaker提供默认配置,可以创建一个Customizer bean对象,该bean对象接收一个Resilience4JCircuitBreakerFactory类型参数。configureDefault方法可以用于提供默认的配置:
@Bean
public Customizer<Resilience4JCircuitBreakerFactory> defaultCustomizer() {
return factory -> factory.configureDefault(id -> new Resilience4JConfigBuilder(id)
.timeLimiterConfig(TimeLimiterConfig.custom().timeoutDuration(Duration.ofSeconds(4)).build())
.circuitBreakerConfig(CircuitBreakerConfig.ofDefaults())
.build());
}
自定义ExecutorService
如果想要自定义执行circuit breaker的ExecutorService,可以通过Resilience4JCircuitBreakerFactor来指定。