本文共 598 字,大约阅读时间需要 1 分钟。
Hystrix流程说明:
1:每次调用创建一个新的HystrixCommand,把依赖调用封装在run()方法中.
2:执行execute()/queue做同步或异步调用. 4:判断熔断器(circuit-breaker)是否打开,如果打开跳到步骤8,进行降级策略,如果关闭进入步骤5. 5:判断线程池/队列/信号量是否跑满,如果跑满进入降级步骤8,否则继续后续步骤6. 6:调用HystrixCommand的run方法.运行依赖逻辑 6a:依赖逻辑调用超时,进入步骤8. 7:判断逻辑是否调用成功 7a:返回成功调用结果 7b:调用出错,进入步骤8. 8:计算熔断器状态,所有的运行状态(成功, 失败, 拒绝,超时)上报给熔断器,用于统计从而判断熔断器状态. 9:getFallback()降级逻辑.以下四种情况将触发getFallback调用: (1):run()方法抛出非HystrixBadRequestException异常。 (2):run()方法调用超时 (3):熔断器开启拦截调用 (4):线程池/队列/信号量是否跑满 9a:没有实现getFallback的Command将直接抛出异常 9b:fallback降级逻辑调用成功直接返回 9c:降级逻辑调用失败抛出异常 10:返回执行成功结果转载地址:http://ivbai.baihongyu.com/