首页 > 资讯 > 正文
spring cloud断路器 熔断 降级
来源:网络 阅读量:


多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其他的微服务,这就是所谓的“ 扇出 ”(像一把打开的折扇)。如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引起系统崩溃,这就是所谓的” 雪崩效应 “。
 
通常当发现一个模块下的某个实例失败后,这时候这个模块依然还会接受流量,然后这个有问题的模块还调用了其他的模块,这样就会发生级联故障,或者叫做雪崩。而面对这种糟糕的问题,我们就应该采取 服务降级、服务熔断 等方式来解决。
Feign client熔断配置

1、隔离策略:支持根据serviceid 作为groupKey 来配置 隔离的线程池或 信号量参数


hystrix: 
 threadpool:  
  default:  # 【groupKey, default为默认配置】 
     maximumSize: 10 # 【默认10,hystrix-core version >=5.7才支持】 
     coreSize: 10  #【默认10】 
     maxQueueSize: -1  #【默认为-1,代表SynchronousQueue,不使用队列缓冲。】 
     queueSizeRejectionThreshold: 5 # 【队列拒绝窗口,小于等于maxQueueSize,实现动态改变队列大小,如果maxQueueSize=-1,该配置不生效】 
     keepAliveTimeMinutes: 1 
  msv-providerapp-demo:  # 根据应用访问量,对微服务线程池进行特殊配置。 该值对应@FeignClient 中的value,一般为serviceId。
     maximumSize: 30   
     coreSize: 10   
     maxQueueSize: 1000    
     queueSizeRejectionThreshold: 1000  
     keepAliveTimeMinutes: 1

2、断路器配置:支持根据接口(不支持serviceid )作为 commandKey,进行特殊化配置,其中包括熔断超时

hystrix:  
  command: 
    default:  #CommandKey 熔断器id , default为默认配置
      execution: 
          timeout: 
                enabled: true  # 默认开启  
          isolation:  
             strategy: THREAD  
             thread: 
               timeoutInMilliseconds: 1000 # 默认超时1s
      circuitBreaker :   
          enabled: true  # 默认开启
          sleepWindowInMilliseconds: 5000 #默认5000ms,熔断尝试关闭时间 
          requestVolumeThreshold: 20  #默认20,
          metrics.rollingStats.timeInMilliseconds: 10000 #【默认1000ms】秒内请求数>=requestVolumeThreshold,才使用熔断机制 
          errorThresholdPercentage: 50  #默认50%,当请求数达到requestVolumeThreshold要求,如果错误率达到 errorThresholdPercentage,则打开熔断
 
 
     FeignProviderServer#callHi(String):  # 根据接口,特殊化配置熔断器,接口commandkey命名规则见[2.1]
       execution: 
          timeout: 
             enabled: true  # 默认开启  
          isolation:  
             strategy: THREAD  
             thread: 
               timeoutInMilliseconds: 5000 #
       circuitBreaker :  
       …………
 
 

spring cloud
断路器
熔断
降级

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.link66.cn/news/3192.html