首先我看了很多有人改造sentinel dashboard的资料,教如何通过修改源码重新打包dashboard的,但考虑到自行修改编译的风险,我还是采用了官方建议的动态配置方式,程序通过nacos加载sentinel相关的规则配置。
此文描述记录一下scg的配置方式。
1.等同介绍
首先举个例子,下图dashboard配置等同json的配置
[{
"resource": "payment-gary",
"count": 1000,
"timeWindow": 5,
"grade": 0,
"minRequestAmount": 2,
"slowRatioThreshold": 0.2,
"statIntervalMs": 10000
}]
2.配置详解
参数名 | 描述 | 属性类型 | 枚举项 | 说明 |
resource | 资源名称 | 字符 | —— | 资源名称,在网关应用中指scg的routes:id |
grade | 熔断策略 | 数字 | 0 | 慢调用比例,不设置此为默认值 |
1 | 异常比例 | |||
2 | 异常数 | |||
count | 值 | 数字 | —— | 当熔断策略是慢调用时,此值为最大RT,单位是毫秒
|
slowRatioThreshold | 比例阈值 | 数字 | —— | 熔断策略是慢调用时存在,单位是0.0-1.0的小数 |
timeWindow | 熔断时长 | 数字 | —— | 熔断规则所要熔断全部请求的时间范围,单位是秒 |
minRequestAmount | 最小请求数 | 数字 | —— | 熔断时必须达到的最小请求数量 |
statIntervalMs | 统计时长 | 数字 | —— | 熔断规则所统计的时间范围,单位毫秒 |