本文讲解Sentinel中的熔断机制的几种策略
笔记对应学习视频:
https://www.itlaoqi.com/chapter/2660.html
本节讲解Sentinel熔断机制
熔断的目的是解决因为某个微服务长时间无响应导致线程积压所产生的应用崩溃
熔断机制的处理流程
- 达到触发条件: 当每秒接口书超过20%的处理产生异常,便会开启熔断
- 在熔断状态下,X秒内所有该接口访问都会被BLOCKED快速失败(服务降级)
- X秒后,下一次请求重新访问接口,此时为半开状态
- 接口是有效的,恢复到正常状态
- 接口仍是无效的,回到熔断状态继续BLOCKED X秒
Sentinel支持的熔断模式:
- 慢调用比例
开启条件: 1秒钟内,有1个/list请求,便开启熔断检查
触发熔断: 当前秒,有超过50%的请求超过1ms,如:3次里面有2次(75%)超过1ms, 触发熔断,之后5秒钟所有请求被BLOCKED,5秒后半开状态检查
- 异常比例
开启条件: 1秒钟内,有1个/list请求,便开启熔断检查
触发熔断: 当前秒,有超过50%的请求产生异常,
触发熔断,之后5秒钟所有请求被BLOCKED,5秒后半开状态检查
- 异常数(较少使用)
开启条件: 当前秒有1个/list请求,便开启熔断检查
触发熔断: 之后1分钟内/list调用异常数大于100
触发熔断,之后80秒所有请求被BLOCKED,80秒后半开状态检查