hystrix熔断

5 篇文章 0 订阅
4 篇文章 0 订阅

目录

 

一、基本知识

二、工作过程


一、基本知识

背景:分布式系统中经常会出现某个基础服务不可用造成整个系统不可用的情况, 这种现象被称为服务

雪崩效应。 为了应对服务雪崩, 一种常见的做法是手动服务降级,而Hystrix的出现,给我们提供了另一

种选择。

出现雪崩原因:服务调用者不可用、重试增加流量、服务提供者不可用

服务不可用场景:硬件故障、程序Bug、缓存击穿、用户大量请求

重试增加流量场景:代码重试调用、用户重复调用

hystrix熔断策略:流量阈值控制、熔断开关控制、熔断间断性尝试服务状态

二、工作过程

官方流程图

(1)构建一个command,command 有两种模式:一种是正常的线程模式,另外一种是观察者模式。

(2)执行command 命令,执行command有四种方式:execute(以同步阻塞方式执行command的

run方法)、queue(以异步方式执行command的run方法)、observe(事件注册前执行run/construct)、

toObservable(事件注册前执行run/construct)

(3)缓存命中验证:验证当前请求是否命中缓存,如果命中缓存直接返回命中结果。

(4)熔断开关判定:打开直接进去command的回退逻辑

(5)信号量或者线程池容量判定:判断当前的command对应的请求数量是否超过最大信号量或者线程池

阈值,超过则进入异常处理逻辑fallback 。否则则执行command逻辑,并重新计算熔断值。

(6)执行command逻辑:HystrixObservableCommand.construct() 、HystrixCommand.run()

(7)计算熔断的健康状态

(8)异常回退处理

(9)返回command执行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值