在类“RuleConstant”中进行定义
//grade:限流阈值类型,QPS 或线程数模式
public static final int FLOW_GRADE_THREAD = 0;//限流 基于线程数
public static final int FLOW_GRADE_QPS = 1;//限流 基于QPS
public static final int DEGRADE_GRADE_RT = 0;//降级 , 代表一秒内该资源的平均响应时间
public static final int DEGRADE_GRADE_EXCEPTION_RATIO = 1;// 降级 异常比例
public static final int DEGRADE_GRADE_EXCEPTION_COUNT = 2;// 降级, 异常数
public static final int DEGRADE_DEFAULT_SLOW_REQUEST_AMOUNT = 5;
public static final int DEGRADE_DEFAULT_MIN_REQUEST_AMOUNT = 5;
public static final int AUTHORITY_WHITE = 0;// 认证, 白名单
public static final int AUTHORITY_BLACK = 1;// 认证, 黑名单
//strategy:判断的根据是资源自身,还是根据其它关联资源 (refResource),还是根据链路入口
public static final int STRATEGY_DIRECT = 0;//资源自身
public static final int STRATEGY_RELATE = 1;//关联资源
public static final int STRATEGY_CHAIN = 2;//链路入口
//controlBehavior:流控效果(直接拒绝 / 排队等待 / 慢启动模式)
public static final int CONTROL_BEHAVIOR_DEFAULT = 0;// 限流行为,直接拒绝
public static final int CONTROL_BEHAVIOR_WARM_UP = 1;// 限流行为,WARM_UP
public static final int CONTROL_BEHAVIOR_RATE_LIMITER = 2;// 限流行为,匀速排队
public static final int CONTROL_BEHAVIOR_WARM_UP_RATE_LIMITER = 3;
//limitApp:流控针对的调用来源
public static final String LIMIT_APP_DEFAULT = "default";
public static final String LIMIT_APP_OTHER = "other";
public static final int DEFAULT_SAMPLE_COUNT = 2;
public static final int DEFAULT_WINDOW_INTERVAL_MS = 1000;
配置实例
[
{
"resource": "ruoyi-auth",
"count": 500,
"grade": 1,
"limitApp": "default",
"strategy": 0,
"controlBehavior": 0
},
{
"resource": "ruoyi-system",
"count": 1000,
"grade": 1,
"limitApp": "default",
"strategy": 0,
"controlBehavior": 0
},
{
"resource": "ruoyi-gen",
"count": 200,
"grade": 1,
"limitApp": "default",
"strategy": 0,
"controlBehavior": 0
},
{
"resource": "ruoyi-job",
"count": 300,
"grade": 1,
"limitApp": "default",
"strategy": 0,
"controlBehavior": 0
}
]