Hystrix服务降级笔记

主要可能的异常:超时 运行   宕机

1.被调用方(服务端)时出现异常,自己对自己的服务进行降级处理,

实现过程:

  1. 主启动类:@EnableCircuitBreaker
  2. 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

 

 

posted @   niao66  阅读(93)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示