系统自适应限流规则配置
系统自适应限流规则针对所有流量类型为 IN 的资源生效,因此不需要配置规则的资源名称。SystemRule 定义的字段如下:
public class SystemRule extends AbstractRule {
private double highestSystemLoad = -1;
private double highestCpuUsage = -1;
private double qps = -1;
private long avgRt = -1;
private long maxThread = -1;
}
- qps:按 QPS 限流的阈值,默认 -1,大于 0 才生效。
- avgRt:按平均耗时的限流阈值,默认 -1,大于 0 才生效。
- maxThread:最大并行占用的线程数阈值,默认 -1,大于 0 才生效。
- highestCpuUsage:按 CPU 使用率限流的阈值,取值[0,1]之间,默认 -1,大于等于 0.0 才生效。
- highestSystemLoad:按系统负载限流的阈值,默认 -1,大于 0.0 才生效。
如果配置了多个 SystemRule,则每个配置项只取最小值。例如三个 SystemRule 都配置了 qps,则取这三个规则中最小的 qps 作为限流阈值,这在调用 SystemRuleManager#loadRules 方法加载规则时完成。
SystemSlot
public class SystemSlot extends Abs