博客园  :: 首页  :: 新随笔  :: 管理

服务容错Hystrix

Posted on 2022-05-14 09:50  揽星河、入梦  阅读(32)  评论(0)    收藏  举报

服务降级

image

服务熔断

image

线程隔离

image

服务降级原理分析

image
image
异常捕捉
image
@HysrixCommand: 安插在方法上,标识此方法由Hystrix监管。
Aspect:运用Spring的切面能力,给带有@HystrixCommand注解的方法配置了切面,在方法调用的时候,将首先执行切面逻辑。
Request Cache
开启尝试从缓存中获取视剧,也就不用发起方法调用了。
关闭,就继续往下走到最烧脑的部分,Observer。
注册Observer
Observer是观察者模式,但这里只是一个幌子,这个Observer背后运用RxJava注册了一堆异步回调函数,当方法正常执行、异常抛出、结束或其他状态的时候,将会触发对应的回调函数进行处理,而且回调函数里面还会嵌套回调函数。
发起调用
在发起调用之前,将会检查熔断状态,如果短路器当前处于开启的状态,那么将直接走向fallback流程。如果断路器处于关闭状态,则发起真正的调用。
异常
异常触发了步骤4中注册的回调函数,然后直接转给了降级方法。
image

熔断

image
image

熔断半开启

image
熔断器三个状态
1、open:一律fallback;
2、half-open
3、closed
熔断器的判断阀值
1、在一定时间窗口内,发生异常的请求数量达到临界值
2、在一定时间窗口内,发生异常的请求数量占请求总数量达到一定比例

线程隔离

image
image
image
image

线程池VS信号量

image
image
image

Turbine收集器

image
image
image