阈值类型:
QPS :每秒请求数量 线程数:并发请求数量 单击阈值:阈值类型对应的数量
流控模式:
直接:是根据当前资源进行处理
比如说当前的资源是/getSurprise,也就是请求路径,流控模式选择直接会对当前的资源路径进行流控管理,
单机阈值则是现在请求的次数,点击新增,则会生成新的流控规则,然后去postman编写请求路径和test
在collection runner里面测试
结果如下
得出结论:当请求到达单机阈值时则会限流.
流控模式选择关联则会弹出一个管理资源选项,例如:A资源 关联 B 资源 ,请求发给B,如果达到阈值,那么则对A限流; A=>查询操作 B=>更新操作
示例:现在我们关联get路径下的资源,点击新增,则流控规则会出现刚刚定义的规则
在postman中定义以下请求
在collection runner中进行测试
得到了以下结果
前面的5次请求/get 和 / getSurprise 都成功了 但是当get请求达到阈值5时 则/ getSurprise请求不成功了,所以得出结论:关联路径下的资源达到阈值时,则当前路径下的资源会限流
流控模式选择链路:以调用链路为单位做限流处理,例如:A->B->C 这个链路的总体流量只按入口A的请求量来计算
流控效果选择快速失败:直接抛出异常,界面收到提示
流控效果选择warm up(预热):如果qps 10,预热时长10s 冷加载因子是3 从qps=10/3 开始控制流量,逐步达到10
点击新增规则,去postman测试
因为预热时长是10s 所有我们设置延迟时长为100ms,保证qps 10 这样看到通过请求越来越多的
可以看出前面3个请求通过了 因为预热时长10s 冷加载因子是3 从qps=10/3 开始 后面开始控制流量,逐步达到10,达到10后就开始限流
流控效果选择排队等候,会有一个超时时间选项
我们单击阈值写2,超时时间写500 相当于每隔500ms通过一次请求
我们测试延迟刚好500ms 可以看出全部请求都可以通过
如果我们将超时时间改成100ms 延迟时间改成200
可以看出延迟的时间超出了超时时间 所以请求就不成功