Hystrix的执行流程和原理

Hystrix是Netflix开源的一款容错框架。

Hystrix [hɪst'rɪks],中文含义是豪猪,因其背上长满棘刺,从而拥有了自我保护的能力。

Hystrix工作原理图

(图来源:https://github.com/Netflix/Hystrix/wiki/How-it-Works

说明:

1.构建一个HystrixCommand或者HystrixObservableCommand对象,将请求包装到Command对象中。
2.执行命令。
3.判断当前请求是否有缓存,如果在缓存中就直接返回缓存的内容。
4.判断熔断器是否打开,如果开启,则跳到第8步。
5.判断线程池/队列/信号量是否已满,如果已满,则跳到第8步。
6.执行HystrixObservableCommand.construct()/HystrixCommand.run(),如果执行失败或超时,跳到第8步;否则,跳到第9步;
7.统计熔断器监控指标。
8.走Fallback备用逻辑。
9.返回成功的响应。

此外第5步线程池/队列/信号量已满时,还会执行第7步逻辑,更新熔断器统计信息,而第6步无论成功与否,都会更新熔断器统计信息。

 

详细说明

1.构建一个HystrixCommand或者HystrixObservableCommand对象,将请求包装到Command对象中。

// 创建HystrixCommand对象
HystrixCommand command = new HystrixCommand(arg1, arg2);

// 创建HystrixObservableCommand
HystrixObservableCommand command = new HystrixObservab
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值