SpringCloud集成Hystrix实现服务容错和服务降级
###SpringBoot版本2.0.5
什么是Hystrix
复制代码
1
2在分布式环境中,许多服务依赖项中的一些将不可避免地失败。Hystrix是一个库,通过添加延迟容差和容错逻辑来帮助您控制这些分布式服务之间的交互。Hystrix通过隔离服务之间的访问点,停止其间的级联故障以及提供回退选项,从而提高系统的整体弹性。
如何使用Hystrix
Feign整合Hystrix实现服务降级
步骤
1、添加pom依赖
复制代码
1
2SpringBoot版本2.0Feign已经整合了Hystrix依赖,所以无需其他依赖。
2、编辑服务降级处理类Hystrix.java
例:
复制代码
1
2
3
4
5
6
7
8
9
10@Component public class Hystrix implements Client{ @Override public String getuserinfo(String name) { // TODO Auto-generated method stub return "the services services1 is wrong"; } } 该类实现了Client接口,实现降级之后需要进行的逻辑处理,如抛出异常或打印日志。
3、在Client接口类里调用该降级类
例:
复制代码
1
2
3@FeignClient(value = "services",fallback = Hystrix.class) 在Feign的注解中指定fallback的类,这种情况下,在绑定的微服务services故障或对应方法阻塞时,会调用Hystrix.class中的对应方法实现断路处理。
注意:
1、在我的测试中Hystrix会出现不起作用的情况,通过编辑application.propertity文件增加feign.hystrix.enabled=true解决。在SpringBoot1.4版本中是自动启动的,但是在这个版本里没有自动启动的情况下可以这么处理。
2、版本不同会有不一样的处理,低版本会出现启动注解和pom依赖的增加。详细可查阅资料。
最后
以上就是慈祥爆米花最近收集整理的关于SpringCloud(3) 集成Hystrix实现服务容错和服务降级的全部内容,更多相关SpringCloud(3)内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复