1. 概述
老话说的好:做人要正直,做事要正派,胸怀坦荡、光明磊落,才会赢得他人的信赖与尊敬。
言归正传,之前聊了服务间通信的组件 Feign,今天我们来聊聊服务降级。
服务降级简单的理解就是给一个备选方案,当服务调用报错或者超时时,能终止远程调用,并很快的返回备选的结果,避免引发服务雪崩。
今天我们用两个例子,模拟一下 接口报错 和 接口超时 的服务降级实现。
我们使用 hystrix 实现服务降级,虽然从 Spring Cloud 2020.0 版本开始,移除了 hystrix 组件,但并不影响我们对他的使用。
闲话不多说,直接上代码。
2. 接口报错的服务降级
2.1 被调用服务
2.1.1 接口代码
2.1.2 实现类代码
2.2 调用服务
2.2.1 主要依赖
这里 hystrix 使用目前的最新版本 2.2.9.RELEASE。
2.2.2 主要配置
2.2.3 降级工厂类的开发
2.2.4 在 Feign 接口配置降级工厂类
2.2.5 启动类增加 @EnableHystrix 注解
2.2.6 启动服务测试
可以正常进入降级方法。
3. 接口超时的服务降级
3.1 被调用服务
3.1.1 接口代码
3.1.2 实现类代码
3.2 调用服务
3.2.1 主要配置
注意:feign 的 readTimeout 属性和 hystrix 的 timeoutInMilliseconds 属性会同时生效,以超时时间最短的为准。
3.2.2 降级工厂类的开发
3.2.3 启动服务测试
可以正常进入降级方法。
4. 综述
今天聊了一下 服务降级 的相关知识,希望可以对大家的工作有所帮助。
欢迎帮忙点赞、评论、转发、加关注 :)
关注追风人聊Java,每天更新Java干货。
5. 个人公众号
追风人聊Java,欢迎大家关注
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/java-jiao-cheng/6829.html