微服务框架
【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】
微服务保护
文章目录
- 微服务框架
- 微服务保护
- 32 隔离和降级
- 32.4 熔断降级
- 32.4.1 熔断降级
32 隔离和降级
32.4 熔断降级
32.4.1 熔断降级
熔断降级是解决雪崩问题的重要手段。
其思路是由断路器统计服务调用的异常比例、慢请求比例,如果超出阈值则会熔断该服务。即拦截访问该服务的一切请求;
而当服务恢复时,断路器会放行访问该服务的请求。【这个是基于内部的一个叫 状态机的东西实现的】
【状态机】
它包含三个状态
-
closed:绿色,这种状态下的断路器不会拦截任何请求,随便
但是断路器会统计调用异常比例,
-
当异常比例达到失败阈值,
切换到open 状态,红色【停止】,这个时候就会拦截一些请求了,就相当于是熔断了
【熔断状态会有一个持续的时间】
-
当熔断时间结束,到达Half-open 状态
这种状态会尝试放行一次请求,然后根据放行这个请求的执行结果来判断接下来要做的事
-
如果依然失败
回到open 状态
-
如果放的这次成功 了
那就会回到closed 状态,就相当于断路器就又开始放行了
-
【整个过程中比较关键的东西】
- 熔断的持续时间
- 失败的阈值【达到熔断的条件在sentinel 中称之为熔断的策略】