sentinel定義規則


spring cloud-alibabagitアドレスhttps://github.com/spring-cloud-incubator/spring-cloud-alibaba
ルールを定義する
                  ,        ,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                  。