spring_cloud之熔断器(Hystrix)续

一、熔断器原理

  熔断机制与家里的电路熔断器原理类似,电路发生短路是立刻熔断电路避免灾难发生。在分布式系统中应用服务熔断后;服务调用方可以自己判断哪些服务反应慢或者超时。

  从容针对性熔断。防止拖垮整个服务。

  Hystrix熔断机制,可实现弹性容错,当服请求状况好转后,可自动重连。通过短路方式,将后续请求拒绝,一段时间后(默认5s)允许部分请求通过,调用成功熔断器关闭,否则继续拒绝请求。

  熔断状态级模型:

    

   状态机的3个状态:

  • closed:关闭状态,所以请求正常访问
  • open:打开状态,所以请求都会被降级。Hystrix会对请求的情况进行计数,当一定时间内失败请求数达到阈值,则触发熔断、断路器完全打开。默认失败比例阈值50%,请求数不低于20次。
  • half Open :半开状态,断路器打开后会进入休眠时间(默认5s)。随后断路器会自动进入半开状态,此时部分请求通过,如请求成功则关闭断路器,否则保存打开状态,再次进入休眠计时。

 熔断器参数配置    

 1 hystrix:
 2   command:
 3     default:
 4       circuitBreaker:
 5         #触发熔断错误比例阈值,默认值50%
 6         errorThresholdPercentage: 50
 7         #熔断后休眠时长,默认值5秒 单位:毫秒
 8         sleepwindowinMilliseconds: 10000
 9         # 熔断触发最小请求次数,默认值是20
10         requestvolumeThreshold: 10

    

 

原文地址:https://www.cnblogs.com/lxn0216/p/14178451.html