1命名规则 sentinel_Alibaba Sentinel 规则参数总结
本文總結了Alibaba Sentinel各種規則的參數。
基于Sentinel 1.6.2編寫,未來如果本文不再適用,可自行點擊每一節 參考 一覽的鏈接前往查看如何配置。
一、流控規則
1.1 配置
1.2 參數
Field
說明
默認值resource
資源名,資源名是限流規則的作用對象
count
限流閾值
grade
限流閾值類型,QPS 或線程數模式
QPS 模式
limitApp
流控針對的調用來源
default,代表不區分調用來源
strategy
判斷的根據是資源自身,還是根據其它關聯資源 (refResource),還是根據鏈路入口
根據資源本身
controlBehavior
流控效果(直接拒絕 / 排隊等待 / 慢啟動模式)
直接拒絕
1.3 代碼配置示例
private void initFlowQpsRule() {
List rules = new ArrayList<>();
FlowRule rule = new FlowRule(resourceName);
// set limit qps to 20
rule.setCount(20);
rule.setGrade(RuleConstant.FLOW_GRADE_QPS);
rule.setLimitApp("default");
rules.add(rule);
FlowRuleManager.loadRules(rules);
}
1.4 參考:https://github.com/alibaba/Sentinel/wiki/如何使用#流量控制規則-flowrule
1.5 參考:流量控制
二、降級規則
2.1 配置
2.2 參數
Field
說明
默認值resource
資源名,即限流規則的作用對象
count
閾值
grade
降級模式,根據 RT 降級還是根據異常比例降級
RT
timeWindow
降級的時間,單位為 s
2.3 代碼配置示例
private 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);
}
2.4 參考:https://github.com/alibaba/Sentinel/wiki/如何使用#熔斷降級規則-degraderule
三、熱點規則
3.1 配置
3.2 參數
屬性
說明
默認值resource
資源名,必填
count
限流閾值,必填
grade
限流模式
QPS 模式
durationInSec
統計窗口時間長度(單位為秒),1.6.0 版本開始支持
1s
controlBehavior
流控效果(支持快速失敗和勻速排隊模式),1.6.0 版本開始支持
快速失敗
maxQueueingTimeMs
最大排隊等待時長(僅在勻速排隊模式生效),1.6.0 版本開始支持
0ms
paramIdx
熱點參數的索引,必填,對應 SphU.entry(xxx, args) 中的參數索引位置
paramFlowItemList
參數例外項,可以針對指定的參數值單獨設置限流閾值,不受前面 count 閾值的限制。僅支持基本類型
clusterMode
是否是集群參數流控規則
false
clusterConfig
集群流控相關配置
3.3 代碼配置示例
ParamFlowRule rule = new ParamFlowRule(resourceName)
.setParamIdx(0)
.setCount(5);
// 針對 int 類型的參數 PARAM_B,單獨設置限流 QPS 閾值為 10,而不是全局的閾值 5.
ParamFlowItem item = new ParamFlowItem().setObject(String.valueOf(PARAM_B))
.setClassType(int.class.getName())
.setCount(10);
rule.setParamFlowItemList(Collections.singletonList(item));
ParamFlowRuleManager.loadRules(Collections.singletonList(rule));
3.4 參考:https://github.com/alibaba/Sentinel/wiki/熱點參數限流
四、系統規則
4.1 配置
4.2 參數
Field
說明
默認值highestSystemLoad
最大的 load1
-1 (不生效)
avgRt
所有入口流量的平均響應時間
-1 (不生效)
maxThread
入口流量的最大并發數
-1 (不生效)
qps
所有入口資源的 QPS
-1 (不生效)
4.3 代碼配置示例
private void initSystemRule() {
List rules = new ArrayList<>();
SystemRule rule = new SystemRule();
rule.setHighestSystemLoad(10);
rules.add(rule);
SystemRuleManager.loadRules(rules);
}
4.4 參考:https://github.com/alibaba/Sentinel/wiki/如何使用#系統保護規則-systemrule
五、授權規則
5.1 配置
5.2 參數
Field
說明
默認值resource
資源名,即限流規則的作用對象
-
limitApp
對應的黑名單/白名單,不同 origin 用 , 分隔,如 appA,appB
default,代表不區分調用來源
strategy
限制模式,AUTHORITY_WHITE 為白名單模式,AUTHORITY_BLACK 為黑名單模式,默認為白名單模式
AUTHORITY_WHITE
5.3 代碼配置示例
AuthorityRule rule = new AuthorityRule();
rule.setResource("test");
rule.setStrategy(RuleConstant.AUTHORITY_WHITE);
rule.setLimitApp("appA,appB");
AuthorityRuleManager.loadRules(Collections.singletonList(rule));
5.4 參考:https://github.com/alibaba/Sentinel/wiki/如何使用#訪問控制規則-authorityrule
·································
總結
以上是生活随笔為你收集整理的1命名规则 sentinel_Alibaba Sentinel 规则参数总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ftp服务器复制粘贴文件夹,ftp服务器
- 下一篇: 做自适应网站专业乐云seo_什么叫网站优