一、引入依赖(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="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