本文主要是介绍SpringCloudGateway-服务容错(七),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
概述
可以使用Spring Cloud Gateway实现服务降级。
当Gateway进行路由转发时,如果发现下游服务连接超时允许进行服务降级。
实现原理:当连接超时时,使用Gateway自己的一个降级接口返回托底数据,保证程序继续运行。
Hystrix实现服务降级
添加依赖
在GatewayDemo中额外添加
<dependence><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependence>
配置过滤器
在 配置文件中的filters属性添加降级过滤器。
其中args:name取值是任意的,最终会被设置为Hystrix的commandKey,但是不能省略,省略会导致Org.springframework.cloud.gateway.filter.factory.HystrixGatewayFilterFactory.Config的setter为null,因为没有设置Hystrix的commandKey等内容时就没有执行Setter的构造方法,导致无法触发降级逻辑。
- name: Hystrixargs:name: fallbackcmd # 名字分组fallbackUri: forward:/downgrade # 远程服务错误的时候,Gateway工程中的哪一个控制器逻辑,返回降级结果
降级结果实现
开启Hystrix的降级,接口的超时时间都是1s。
这篇关于SpringCloudGateway-服务容错(七)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!