分布式系统中,服务与服务之间的依赖错综复杂,一种不可避免的情况就是某个服务出现故障,导致依赖它的其他服务出现远程调度的线程阻塞,从而产生联动故障。Hystrix是Netflix公司的一个开源项目,它提供了一个熔断器功能,通过隔离服务的访问点阻止联动故障,并提供故障的解决方案,从而提高整个分布式系统的弹性。
之前我们看了eureka与feign实现负载均衡,hystrix的学习,继续在之前的负载均衡项目上做改造,以节省一些不必要的篇幅。
复制feign-consumer 为 feignhystrix-consumer,其他的feign工程不需要做改动。
按照惯例,第一步需要在pom.xml中因依赖,由于feign的起步依赖中,已经包含了hystrix的依赖,所以在hystrix中不需要再引依赖了。
改造步骤
1、 在application.properties 中增加熔断开关
默认的feign功能中,熔断开关是关闭的,所以,熔断器hystrix的开关需要手动打开
spring.application.name=eureka-client
eureka.client.service-url.defaultZone=http://localhos