一、引入依赖(feign中已经集成Hystrix)
二、在feign中配置开启Hystrix
复制代码
1
2
3
4
5
6
7
8
9
10feign: client: config: service-product: #需要调用的服务名称 loggerLevel: FULL #开启对hystrix的支持 hystrix: enabled: true
三、自定义一个接口的实现类,这个实现类就是熔断触发的降级逻辑
复制代码
1
2
3
4
5
6
7
8
9
10
11
12@Component public class ProductFeignClientCallBack implements ProductFeignClient { /** * 熔断降级的方法 */ public Product findById(Long id) { Product product = new Product(); product.setProductName("feign调用触发熔断降级方法"); return product; } }
四、修改feignClient接口添加降级方法的支持
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20/** * 声明需要调用的微服务名称 * @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的超时时间配置(超过此时间服务没有返回数据,进入降级方法)
复制代码
1
2
3
4
5
6
7
8hystrix: command: default: execution: isolation: thread: timeoutInMilliseconds: 3000 #默认的连接超时时间1秒,若1秒没有返回数据,自动的触发降级逻辑
最后
以上就是时尚康乃馨最近收集整理的关于21、Hystrix:基于feign调用的熔断配置的全部内容,更多相关21、Hystrix:基于feign调用内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复