Spring Cloud Alibaba#17.Sentinel 限流控制
本文讲解Sentinel中限流策略的配置方法
笔记对应学习视频:
https://www.itlaoqi.com/chapter/2659.html
本节来我们来讲解Sentinel限流控制
在Sentinel Dashboard中"簇点链路",找到需要限流的URI,点击"+流控"进入流量控制编辑
流控规则:
资源名: 要流控的URI
针对来源: 默认default代表所有来源,可以针对某个微服务或者调用者单独设置
阈值类型:是按每秒访问数量(QPS)还是并发数(线程数)进行流控
单机阈值:具体的流控数值是多少
高级选项解释 :
- 流控模式:
- 直接
每秒QPS超过1时直接显示快速失败,浏览器会出现”Blocked by Sentinel”
-
- 关联
当同服务关联URI/update每秒QPS超过1时,再访问/list快速失败
-
- 链路
当同服务链路URI/check每秒QPS超过1时,再访问/list快速失败
- 流控效果
- 快速失败
超出直接报错没啥好说的
-
- Warm Up预热
Warm Up预热
假设:现在有100个请求瞬间过来
单机QPS阈值=1,代表每一秒只能放行1个请求,其他请求队列等待,共需100秒处理完
单机QPS阈值=4,代表250毫秒匀速放行1个请求,其他请求队列等待,共需25秒处理完
单机QPS阈值=200,代表5毫秒匀速放行一个请求,其他请求队列等待,共需0.5秒处理完
如果某一个请求在队列中处于等待状态超过2000毫秒,则直接报错中断
PS: 匀速队列只支持QPS模式,切数值不得大于1000