技巧杂烩 · 

Spring Cloud OpenFegin 熔断配置

Spring Cloud 中 OpenFegin 使用 CircuitBreaker 配置熔断


最近在研究 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 。