标签:降级 调用 Hystrix value 笔记 注解 异常 HystrixCommand
主要可能的异常:超时 运行 宕机
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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。