sentinel定義規則
spring cloud-alibabagitアドレスhttps://github.com/spring-cloud-incubator/spring-cloud-alibaba
ルールを定義する
Field
説明
標準値
resource
リソース名、リソース名はフロー制限規則の対象となります.
count
限流閾値
grade
限流閾値タイプは、QPSとスレッド数のどちらですか?
QPSモード
limitApp
使用者によって制限されますか?
いいえ、
strate gy
判断の根拠は、リソース自体か、または他のリソースによるか(
資源そのものによって
control Behavior
ブロッキングが発生した後の流量整形と制御戦略(直接拒否/列待ち/スロースタートモード)
直接に断る
サンプルコード
Field
説明
標準値
resource
リソース名、リソース名はフロー制限規則の対象となります.
count
限流閾値
grade
降格モードは、RTによって降格しますか?それとも異常割合によって降格しますか?
RT
timeWindow
降格の時間
Field
説明
標準値
highestSystem Load
最大
avgRt
全入口流量の平均応答時間
-1(無効)
maxThread
入口流量の最大同時数
-1(無効)
ルールを定義する
, ,sentinel API,
流量制御Field
説明
標準値
resource
リソース名、リソース名はフロー制限規則の対象となります.
count
限流閾値
grade
限流閾値タイプは、QPSとスレッド数のどちらですか?
QPSモード
limitApp
使用者によって制限されますか?
いいえ、
strate gy
判断の根拠は、リソース自体か、または他のリソースによるか(
refResource
)、またはリンクエントリによるか(refResource
).資源そのものによって
control Behavior
ブロッキングが発生した後の流量整形と制御戦略(直接拒否/列待ち/スロースタートモード)
直接に断る
サンプルコード
private static void initFlowQpsRule() {
List rules = new ArrayList<>();
FlowRule rule1 = new FlowRule();
rule1.setResource(KEY);
// set limit qps to 20
rule1.setCount(20);
rule1.setGrade(RuleConstant.FLOW_GRADE_QPS);
rule1.setLimitApp("default");
rules.add(rule1);
FlowRuleManager.loadRules(rules);
}
溶断降格規則Field
説明
標準値
resource
リソース名、リソース名はフロー制限規則の対象となります.
count
限流閾値
grade
降格モードは、RTによって降格しますか?それとも異常割合によって降格しますか?
RT
timeWindow
降格の時間
。
, DegradeRuleManager.loadRules()
。
private static void initDegradeRule() {
List rules = new ArrayList<>();
DegradeRule rule = new DegradeRule();
rule.setResource(KEY);
// set threshold rt, 10 ms
rule.setCount(10);
rule.setGrade(RuleConstant.DEGRADE_GRADE_RT);
rule.setTimeWindow(10);
rules.add(rule);
DegradeRuleManager.loadRules(rules);
}
システム保護ルール(SystemRule)Field
説明
標準値
highestSystem Load
最大
load1
-1(無効)avgRt
全入口流量の平均応答時間
-1(無効)
maxThread
入口流量の最大同時数
-1(無効)
SystemRuleManager.loadRules() 。
private void initSystemProtectionRule() {
List rules = new ArrayList<>();
SystemRule rule = new SystemRule();
rule.setHighestSystemLoad(10);
rules.add(rule);
SystemRuleManager.loadRules(rules);
}
クエリの変更規則 :
curl http://localhost:8719/getRules?type=
,type=flow JSON ;degrade
;system 。
:
curl http://localhost:8719/setRules?type=&data=
type flow、degrade ,data JSON 。
自分の持続的なルールをカスタマイズする , 。 , 。
, DataSource , 。
, ZooKeeper、Nacos ,
RDBMS、NoSQL、VCS
Sentinel Dashboard
規則が発効した結果1. HTTP : curl http://localhost:8719/cnode?id=, 。 , block block(m)
2.Sentinel 。