最近在研究 spring boot 微服务,在配合 openfegin 调用微服务接口时,想配置 fallback 或者 fallbackFactory 熔断降级方法,发现在 FeginClient 上配置了也没有效果,一番搜索且尝试无果。
后面通过反复阅读 Spring Cloud OpenFegin 的文档,其中的 Feign Spring Cloud CircuitBreaker Fallbacks 小节,已经反复对比代码的写法无误后,再从这节的第一句读了一下:
Spring Cloud CircuitBreaker supports the notion of a fallback: ……
原来是 Spring Cloud CircuitBreaker 支持熔断的,立马导入依赖到 pom.xml 中:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-circuitbreaker-resilience4j</artifactId>
</dependency>
继续进行了配置:
spring.cloud.openfeign.circuitbreaker.enabled=true
经过测试后终于成功了。
在过程中还阅读了 Spring Cloud 2022.0 Release Notes ,发现 fegin 已经变成了 openfegin,搜索中获得的 feign + hystrix 相关信息已经过时了,而我使用的 spring cloud 版本为 2022.x 。