Hystrix服务降级笔记
作者:互联网
主要可能的异常:超时 运行 宕机
1.被调用方(服务端)时出现异常,自己对自己的服务进行降级处理,
实现过程:
- 主启动类:@EnableCircuitBreaker
- service层服务降价: 第一属性 降级的方法 第二个 属性代表 连接超过三秒即超时异常@HystrixCommand(fallbackMethod = "paymentInfo_TimeOutHandler",commandProperties = {
@HystrixProperty(name="execution.isolation.thread.timeoutInMilliseconds",value="3000") })。
2.在调用方,对被调用方出现的异常,以及自身出现的异常都可进行处理
实现:
- hystrix: enabled: true 开启降级配置
- 主启动类:@EnableHystrix
- @HystrixCommand(fallbackMethod = "paymentTimeOutFallbackMethod",commandProperties = { @HystrixProperty(name="execution.isolation.thread.timeoutInMilliseconds",value="1500")})
以上都属于一个方法对应一种降级方法,代码膨胀 且耦合度较高。
3.在调用方设置通用的异常():
- @DefaultProperties(defaultFallback = "") 在controller类上添加注解 括号中填通用的解决方案
- @HystrixCommand 不指定那个方法
- 开启2中的配置与主启动类上的注解
4.使用在调用方(客户端)调服务端时,出现异常降级方案
- 对远程调用的feignClient类进行实现
- 实现类里写降级方案(类注入到spring中 使用@Component注解)
- 在@FeignClient(value = "CLOUD-PROVIDER-HYSTRIX-PAYMENT",fallback = HystrixServiceFallback.class)添加fallback
标签:降级,调用,Hystrix,value,笔记,注解,异常,HystrixCommand 来源: https://www.cnblogs.com/lcddup/p/16481822.html