世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。
hystrix断路器开启的条件:
1.正常:请求达到阈值,默认10秒内20次请求,然后出现一定的失败率,默认50%,就会开启断路器
2.信号量/线程池:report metrics 度量桶,通过度量桶检测信号量线程池是否已满,如果不能在执行command,则开启断路器
3.run执行:report metrics 度量桶,检测成功失败信息,判断路器是否开启
总结来说是两种情况,一种是请求失败数达到阈值,开启断路器;另一种是资源占用量已满,开启断路器(相当于限流)。
hystrix断路器关闭的条件:
hystrix断路器开启后5秒,会尝试执行一次命令,如果执行成功则关闭断路器,如果失败,则继续开启,以后尝试的时间会更长