版本:若依框架微服务版本
熔断降级踩坑
文档上使用的hystrix在springcloud3.1.8不再支持,建议改为使用CircuitBreaker,使用方式和hystrix几乎无差别,只是需要修改pom引用:
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-circuitbreaker-reactor-resilience4j</artifactId></dependency>
启动后发现还是报错,错误信息:
Unable to find GatewayFilterFactory with name CircuitBreaker
查了很多资料,有的说还是需要加入hystrix引用(两个引用都加入),实际测试无效。最后找到了解决方案,需要配置以下bean,具体请参考这里。
@Bean@ConditionalOnMissingBean(ReactiveResilience4JCircuitBreakerFactory.class)public ReactiveResilience4JCircuitBreakerFactory reactiveResilience4JCircuitBreakerFactory() {//log.warn("ReactiveResilience4JCircuitBreakerFactory 不存在,自己创建一个");return new ReactiveResilience4JCircuitBreakerFactory();}
之后RuoYiGatewayApplication才能够正常启动。熔断降级才能生效。