码迷,mamicode.com
首页 > 其他好文 > 详细

hystrix熔断器之熔断实现

时间:2017-09-02 19:00:08      阅读:390      评论:0      收藏:0      [点我收藏+]

标签:comm   hystrix   sim   错误信息   com   alpha   命令   超时   tab   

Hystrix命令(HystrixCommand)封装用户请求方法,对用户调用进行隔离。HystrixCommand在执行用户请求时,会首先HystrixCircuitBreaker进行熔断判断,

如果请求已经被熔断了,直接返回定义的错误信息,如果没有被熔断,调用请求。在执行的各个过程,记录调用的超时和异常,HystrixCircuitBreaker记录调用的超时和异常对请求进行熔断。

熔断器(HystrixCircuitBreaker)执行过程如下:

   熔断器(HystrixCircuitBreaker)首先会去判断熔断配置是否开启。

  1. 如果未开启,则执行命令。
  2. 如果开启,熔断器会判断是否短路,(默认为非短路),
    1. 如果未短路则执行命令。
      1. 熔断器会通过HystrixCommandMetrics,判断改命令调用的错误次数是否达到上限或者总调用次数是否达到上限。
        1. 如果达到上限,设置熔断器为短路,拒绝执行。
        2. 如果未达到上限,执行命令。
    2. 如果短路,判断当前时间是否超过短路窗口期,
      1. 如果没有超过,拒绝执行。
      2. 如果超过则允许请求执行。 如果请求执行成功,解除熔断,如果请求执行失败,并重新计算短路窗口期(记录当前时间)。

hystrix熔断器之熔断实现

标签:comm   hystrix   sim   错误信息   com   alpha   命令   超时   tab   

原文地址:http://www.cnblogs.com/zhangwanhua/p/7467203.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!