探索Finchley版Spring Cloud(熔断器Hystrix)
在复杂的分布式系统中,可能因为某个服务不可用导致整个系统不可用,即雪崩效应。而熔断器Hystrix提供了隔离机制,通过隔离服务的访问点阻止联动故障,并且提供了故障的解决方案。
在Feign上使用Hystrix
在eureka-feign-client工程下进行修改,修改配置文件application.yml中开始Hystrix功能,加入如下配置
feign:
hystrix:
enabled: true
配置如图:
修改类EurekaFeignClient,在注解@FeignClient的fallback配置加上快速失败的处理类HiHystrix,该类作为Feign熔断器的逻辑处理类,代码如图:
创建类HiHystrix,该类实现EurekaFeignClient接口,加入注解@Component,注入到IOC容器中,具体如图:
访问 http://127.0.0.1:8765/hi?name=ggg ,可以看到如图:
可以看到,当eureka-client不可用的时候,eureka-feign-client会进入fallback的逻辑处理类里。