-
Notifications
You must be signed in to change notification settings - Fork 8.2k
Open
Description
代码如下,既然token server返回too many request了,再回退到本地模式,那么又会有一部分请求能放行,这怎么限流,甚至说当配置的集群限流阈值很大时,这就限制不住吧。
版本:1.8.8
class:FlowRuleChecker,
方法如下:
private static boolean applyTokenResult(/*@NonNull*/ TokenResult result, FlowRule rule, Context context,
DefaultNode node,
int acquireCount, boolean prioritized) {
switch (result.getStatus()) {
case TokenResultStatus.OK:
return true;
case TokenResultStatus.SHOULD_WAIT:
// Wait for next tick.
try {
Thread.sleep(result.getWaitInMs());
} catch (InterruptedException e) {
e.printStackTrace();
}
return true;
case TokenResultStatus.NO_RULE_EXISTS:
case TokenResultStatus.BAD_REQUEST:
case TokenResultStatus.FAIL:
case TokenResultStatus.TOO_MANY_REQUEST:
return fallbackToLocalOrPass(rule, context, node, acquireCount, prioritized);
case TokenResultStatus.BLOCKED:
default:
return false;
}
}Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels