sentinel的常见页面的简介
流控是对外部来的大流量进行控制,熔断降级的视角是对内部问题进行处理。
Sentinel降级会在调用链路中某个资源出现不稳定状态时(例如调用超时或异常比例升高),对这个资源的调用进行限制,让请求快速失败,避免影响到其它的资源而导致级联错误。当资源被降级后,在接下来的降级时间窗口之内,对该资源的调用都自动熔断,这里的降级其实是Hystrix中的熔断。[策略] Sentinel不会像Hystrix那样放过一个请求尝试自我修复,就是明确按照时间窗口来,熔断触发后,时间窗口内拒绝请求,时间窗口后就恢复
降级策略
RT(平均响应时间):当1秒内持续进入 >= 5个请求,平均响应时间超过阈值(以毫秒为单位),那么在接下的时间窗口(以秒为单位)之内,对这个方法的调用都会自动地熔断(抛出DegradeException)。注意Sentinel默认统计的RT上限是4900ms,超出此阈值的都会算作4900ms,若需要变更此上限可以通过启动配置项Dcsp.sentinel.statistic.max.rt=xxx来配置。
异常比例:当资源的每秒请求量 >= 5 ,并且每秒异常总数占通过量的比值超过阈值之后,资源进入降级状态,即在接下的时间窗口(以秒为单位)之内,对这个方法的调用都会自动地返回。异常比率的阈值范围是[0.0, 1.0],代表0% - 100%
异常数:当资源近1分钟的异常数目超过阈值之后会进行熔断。注意由于统计时间窗口是分钟级别的,若timeWindow小于60秒,则结束熔断状态后仍可能再进入熔断状态,时间窗口 >= 60秒
降级策略
1.rt
对该接口添加耗时时间1s
在api自动化测试处测试10ms10次请求,然后访问浏览器
2.异常比例,手动在查询的接口造一个异常
int i = 1/0;
快速访问该接口超过该比例就会限流
3.异常数,在时间窗口之内访问就会被限流