如果Hystrix在classpath中,并且feign.hystrix.enabled=true,那么Feign使用一个断路器包裹每一个方法。并且也能够返回一个com.netflix.hystrix.HystrixCommand。这样你就可以使用reactive模式(.toObservable()/.observe())或者进行异步调用了(.queue())。
如果想要在每个feign客户端级别禁用Hystrix支持,那就创建一个"原型"作用域的基本Feign.Builder,比如 :
@Configuration
public class FooConfiguration {
@Bean
@Scope("prototype")
public Feign.Builder feignBuilder() {
return Feign.builder();
}
}
警告 : 在
Spring Cloud Dalston版本之前,如果Hystrix在classpath中,Feign缺省会将所有方法使用一个断路器包裹起来。该缺省行为在Spring Cloud Dalston被改变了,变成了一种opt-in选择加入的方式。
本文详细介绍了如何在Feign中集成Hystrix断路器,包括在方法级和客户端级启用或禁用Hystrix支持的方法。此外,还说明了在不同Spring Cloud版本中Hystrix默认行为的变化。
1237

被折叠的 条评论
为什么被折叠?



