概述
一、引入依赖(feign中已经集成Hystrix)
二、在feign中配置开启Hystrix
feign:
client:
config:
service-product:
#需要调用的服务名称
loggerLevel: FULL
#开启对hystrix的支持
hystrix:
enabled: true
三、自定义一个接口的实现类,这个实现类就是熔断触发的降级逻辑
@Component
public class ProductFeignClientCallBack implements ProductFeignClient {
/**
* 熔断降级的方法
*/
public Product findById(Long id) {
Product product = new Product();
product.setProductName("feign调用触发熔断降级方法");
return product;
}
}
四、修改feignClient接口添加降级方法的支持
/**
* 声明需要调用的微服务名称
*
@FeignClient
*
* name : 服务提供者的名称
*
* fallback : 配置熔断发生降级方法
*
实现类
*/
@FeignClient(name="service-product",fallback = ProductFeignClientCallBack.class)
public interface ProductFeignClient {
/**
* 配置需要调用的微服务接口
*/
@RequestMapping(value="/product/{id}",method = RequestMethod.GET)
public Product findById(@PathVariable("id") Long id);
}
五、Hystrix的超时时间配置(超过此时间服务没有返回数据,进入降级方法)
hystrix:
command:
default:
execution:
isolation:
thread:
timeoutInMilliseconds: 3000 #默认的连接超时时间1秒,若1秒没有返回数据,自动的触发降级逻辑
最后
以上就是时尚康乃馨为你收集整理的21、Hystrix:基于feign调用的熔断配置的全部内容,希望文章能够帮你解决21、Hystrix:基于feign调用的熔断配置所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复