使用Sentinel控制台的表单直接控制服务限流:
点击簇点链路,找到我们需要流控的端点,点击右侧的限流

流控模式:
添加限流规则的时候,点击高级选项,可以选择三种流控模式:
–直接: 统计当前资源的请求,触发阈值时对当前资源直接限流,也是默认的模式
–关联:统计与当前资源相关的另一个资源,触发阈值时对当前资源限流
–链路:统计从指定链路访问到本资源请求,触发阈值时,对指定链路限流
关联模式:

链路模式:


流控效果:
请求到大请求阈值时应采取的措施:
–快速失败:(默认)达到阈值之后新的请求会被立即拒绝并抛出FlowException
–warm up:预热模式,对超出阈值的请求同样是拒绝并抛出异常,但这种模式阈值会动态变化,从一个较小值逐渐增加到最大阈值 (针对服务冷启动)
–排队等待:让所有的请求按先后顺序依次排队执行,两个请求的间隔不能小于指定时长
warm up流控效果:
–最重要的两个参数:最大QPS, 预热时间

排队等待:
–当请求超过QPS时,快速失败和warm up会拒绝新的请求,排队等待则是让所有请求进入一个队列中,然后按照阈值允许的时间依次执行,后来的请求必须等待前面的执行完成,如果请求预期的等待时间超出最大时长,则会拒绝 (优点:可以实现流量整形)

热点参数限流:分别统计参数值相等的请求,判断是否超过QPS阈值

注意:热点参数限流对springMVC的普通资源无效,只能对@SentinelResource(“自定义资源名”)有效 注意,参数类型也只能是基本数据类型
