spring cloud circuit breaker文档阅读
This commit is contained in:
22
spring/Spring Cloud/Spring Cloud Circuit Breaker.md
Normal file
22
spring/Spring Cloud/Spring Cloud Circuit Breaker.md
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
# Spring Cloud Circuit Breaker
|
||||||
|
Spring Cloud Circuit Breaker项目包含Resilience4J实现和Spring Retry实现。
|
||||||
|
## 配置Resilience4J Circuit Breakers
|
||||||
|
关于resilience4J Circuit Breakers实现,拥有如下两个启动器,一个用于响应式项目,另一个用于非响应式项目:
|
||||||
|
- `org.springframework.cloud:spring-cloud-starter-circuitbreaker-resilience4j`
|
||||||
|
- `org.springframework.cloud:spring-cloud-starter-circuitbreaker-reactor-resilience4j`
|
||||||
|
|
||||||
|
### 关闭自动装配
|
||||||
|
可以通过设置`spring.cloud.circuitbreaker.resilience4j.enabled`为false来关闭Resilience4J的自动装配
|
||||||
|
### 默认配置
|
||||||
|
如果想要为所有的circuit breaker提供默认配置,可以创建一个`Customizer` bean对象,该bean对象接收一个`Resilience4JCircuitBreakerFactory`类型参数。configureDefault方法可以用于提供默认的配置:
|
||||||
|
```java
|
||||||
|
@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来指定。
|
||||||
Reference in New Issue
Block a user