三明网站开发,电子商务网站设计步骤,短网址生成源码,芜湖又出现一例Hystrix执行流程
每次调用创建一个新的HystrixCommand#xff0c;把依赖调用封装在run()方法中执行execute()/queue做同步或异步调用判断熔断器(circuit-breaker)是否打开#xff0c;如果打开则执行fallback进行降级策略#xff0c;如果关闭继续执行判断线程池/队列/信号量…Hystrix执行流程
每次调用创建一个新的HystrixCommand把依赖调用封装在run()方法中执行execute()/queue做同步或异步调用判断熔断器(circuit-breaker)是否打开如果打开则执行fallback进行降级策略如果关闭继续执行判断线程池/队列/信号量是否跑满如果跑满执行fallback进行降级策略否则继续后续步骤调用HystrixCommand的run方法运行依赖逻辑如果逻辑调用超时则执行fallback逻辑判断逻辑是否调用成功如果调用成功则返回调用结果如果调用出错则执行fallback逻辑计算熔断器状态所有的运行状态(成功、失败、拒绝、超时)上报给熔断器用于统计从而判断熔断器状态
有四种情况将触发fallback逻辑
run()方法抛出非HystrixBadRequestException异常run()方法调用超时熔断器开启拦截调用线程池/队列/信号量是否跑满
参考文献
执行流程