Sentinel规则
Posted pcdd
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sentinel规则相关的知识,希望对你有一定的参考价值。
Sentinel规则
流控规则
(一)流控模式
- 直接:只要超过单机阈值就对资源名(接口url)进行限流。
- 关联:需要设置资源名(例如/res1)和关联资源(例如/res2),若关联资源/res2超过单机阈值,则/res1被限流(res2不会被限流)。
- 链路
(二)流控效果
-
快速失败:直接拒绝请求。
-
Warm Up(预热):需设置预热时长(单位秒),假设为5,则效果就是前五秒请求资源名时,单机阈值始终为1,5秒后,阈值恢复到正常值,即设定的值。(服务刚启动时,各个性能指标均未达到巅峰,此时不易处理过多的请求,这种情况就可以使用预热。打个比方,就好比早上刚起床,还比较困,但随着时间的推移,工作学习效率也逐渐提高了,能够处理更复杂的任务)。
-
排队等待:需设置预热时长(单位毫秒,假设为300),当请求的资源超过单机阈值时,不会立马抛异常,会在0.3秒后再次请求该资源,若能调通,则不抛异常,否则抛出异常。
(三)阈值类型
1. QPS(每秒查询率 Query Per Second) :每秒的响应请求数
2. 线程数
降级规则
(一)资源名
(二)降级策略
-
RT:单个请求的响应时间超过阈值,则进入准降级状态,接下来1s内连续5个请求响应时间均超过阈值,就进行降级,持续实践为时间窗口的值。
-
异常比例:一秒内请求数目大于5个且异常的请求数目在总请求数目的比例大于异常比例。
-
异常数:一分钟内异常的请求数目大于设置的异常数。
热点规则
是针对资源中的参数的控制,使用LRU算法,针对某些参数的值的峰值进行控制。需设置参数索引
授权规则
授权规则是对资源级别的控制,必须携带设定的某个参数并且该参数的值在白名单上才能放访问该资源,如果参数的值在黑名单上则不能访问该资源(需要编写配置类)
以上是关于Sentinel规则的主要内容,如果未能解决你的问题,请参考以下文章