Feign整合Hystrix
Feign是以接口形式工作的,要如何整合Hystrix了?又是如何实现降级了?
事实上,SpringCloud默认已为Feign整合了Hystrix,只要Hystrix在项目的classpath中,
Feign默认就会用断路器包裹所有方法。
(注意:从Spring Cloud Dalston开始,Feign默认是不开启Hystrix的。因此,如使用
Dalston及以上版本请务必额外设置属性:feign.hystrix.enabled=true,否则断路器不会
生效)
见示例:07-ms-consumer-order-feign-hystrix-fallback
Feign整合Hystrix的写法见
属性就可以为指定名称Feign客户端添加降级方法
Feign禁用Hystrix
SpringCloud为Feign默认整合了Hystrix,也就是说只要Hystrix在项目的classpath中,
Feign就会使用断路器包裹Feign客户端的所有方法(Dalston及以上版本默认Feign不开启
Hystrix)。这样虽然方便,但有的场景并不需要该功能,如何为Feign禁用Hystrix呢?
见示例:07-ms-consumer-order-feign-hystrix-fallback
全局禁用Hystrix
只需在application.yml中配置feign.hystrix.enabled=false即可
为指定Feign客户端禁用Hystrix:
增加
在FeignClient注解里加上configuration的属性配置,见下图: