Spring cloud之Hystrix流程

本文详细解析了Hystrix熔断器的工作流程,包括依赖调用的封装、同步与异步调用、熔断器状态判断、降级策略及运行状态上报等关键环节,帮助读者深入理解Hystrix的运行机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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:返回执行成功结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值