Hystrix是实现是作用是当被调用的服务不可用时实现调用的降级,比如返回一个友好提示
feign使用hystrix配置
如果使用的是feign声明式调用,那么feign默认集成了hystrix,只需要写feign客户端的fallbalk类和配置就可以了
比如有一个xxxFeignClient,写一个xxxFeignClient的fallbalk类:
@Component
public class xxxFeignClientFallback implements xxxFeignClient {
}
在xxxFeignClient的@FeignClient()注解的括号中添加:
fallback = xxxFeignClientFallback.class
在调用的启动类上添加注解
@EnableFeignClients
如果xxxFeignClient不是在启动类的当前包或者当前包的子包下面,比如xxxFeignClient和它的fallbalk类放在com.xxx.client包下面,调用方的启动类放在com.xxx.ui包下面,则需要在掉用方的启动类上添加如下注解:
@ComponentScan(basePackages = {"com.xxx.ui","com.xxx.client"})
@EnableFeignClients(basePackages = {"com.xxx.client"})
注意:basePackages指定之后项目启动时只会扫描指定basePackages指定的包的组件
最后在调用方的application.properties文件中加入启用feign hystrix配置:
feign.hystrix.enabled=true