Sentinel-流控效果

流控效果是指请求达到流控阈值时应该采取的措施,包括三种:

• 快速失败:达到阈值后,新的请求会被立即拒绝并抛出FlowException异常。是默认的处理方式。

• warm up:预热模式,对超出阈值的请求同样是拒绝并抛出异常。但这种模式阈值会动态变化,从一个较小值逐渐增加到最大阈值。

• 排队等待:让所有的请求按照先后次序排队执行,两个请求的间隔不能小于指定时长

流控效果-warm up

warm up也叫预热模式,是应对服务冷启动的一种方案。请求阈值初始值是 threshold / coldFactor,持续指定时长后,逐渐提高到threshold值。而coldFactor的默认值是3.

添加规则:

借助JMeter测试:

启动后,通过的会随着预热过程而逐渐变多,拒绝逐渐变少

实时监控显示:

流控效果-排队等待

排队等待的有点:

   (1) 发出的QPS是15,但大多数是通过的(10)而其它有的都是放到队列里面去了,小部分是拒绝的。

   (2)而且不管你发出QPS的波动有多么剧烈,我放出的永远是均衡的,同过的都是10。这样对于微服务来说,波动的肯定不比均衡的好,所以这样的作用也是起到了流量整形的作用