-
流控模式:
- 直接:api达到限流条件时,直接限流
- 关联:当关联的资源达到阈值时,就限流自己
- 链路:只记录指定链路上的流量(指资源从入口资源进来的流量,如果达到阈值,就进行限流)【api级别的针对来源】
-
资源名:唯一名称,默认请求路径
-
QPS (每秒钟的请求数量):当调用该api的QPS达到阈值的时候,进行限流
-
线程数:当调用该 api 的线程数达到阈值的时候,进行限流
流控模式---关联--阈值类型[QPS]
当关联的资源 /testB达到阈值后,就限流 /testA
简单来说就是:B惹事,A挂了
比如就是说:支付接口达到阈值时,就限流下订单的接口
-
新建流控规则
阈值类型阈值类型[QPS]
-
测试,持续访问 /testB 使之达到QPS阈值,同时去访问 /testA 发现被限流
测试结果
流控模式---关联--阈值类型[线程数]
-
新建流控规则
阈值类型[并发线程数]
-
使用同理方法:让处理程序睡眠一秒
@RestController
public class FlowLimitController {
@GetMapping(value = "/testA")
public String testA(){
return "testA";
}
@GetMapping(value = "/testB")
public String testB(){
try {
TimeUnit.SECONDS.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
return "testB";
}
}
-
测试,持续访问 /testB 使之达到QPS阈值,同时去访问 /testA 发现被限流
测试结果
网友评论