springcloud gateway(scg)-sentinel nacos配置-流控篇

首先我看了很多有人改造sentinel dashboard的资料,教如何通过修改源码重新打包dashboard的,但考虑到自行修改编译的风险,我还是采用了官方建议的动态配置方式,程序通过nacos加载sentinel相关的规则配置。

此文描述记录一下scg的配置方式。

1.等同介绍

首先举个例子,下图dashboard配置等同json的配置

[{
	"resourceMode": 0,
	"resource": "payment-gary",
	"grade": 1,
	"count": 2,
	"intervalSec", 1,
	"controlBehavior": 0,
	"burst": 0
}]

springcloud gateway(scg)-sentinel nacos配置-流控篇_第1张图片

2.配置详解

参数名 描述 属性类型 枚举项 说明
resourceMode API类型 数字 0 ROUTE ID区分,不设置此为默认值
1 API分组区分
resource 资源名称 字符 —— API名称,在网关应用中指scg的routes:id
grade 阈值类型 数字 0 按线程数
1 按QPS,不设置此为默认值
count 阈值 数字 —— QPS类型就是限制时间间隔的请求数
线程数类型就是指并行的线程数
QPS阈值类型专属配置项目
intervalSec 间隔 数字 —— 单位是秒,dashboard上面有单位下拉框,实际也是换算秒后存储的
controlBehavior 流控方式 数字 0 快速失败,不设置此为默认值
2 匀速排队
burst 额外流量 数字 —— 快速失败流控方式下,允许突出的流量数
maxQueueingTimeoutMs 排队时间 数字 —— 单位是毫秒,匀速排队流控方式下,允许排队的时间
以下是设置了针对请求属性的配置,笔者没有此需求所以上面的实例图中也没有配置,此处列出是顺手之事,请有需要的人参考
paramItem 请求属性key json对象 —— 为配置的json key,value就是余下的配置项
parseStrategy 参数属性 数字 0 ClientIP,请求方的IP
1 RemoteHost,请求的host
2 Header,请求的Header参数值
3 URL参数
4 Cookie,请求的Cookie参数
fieldName 参数名称 字符 —— 若参数属性选择 Header 模式或 URL 参数模式,则需要指定对应的 header 名称或 URL 参数名称
matchStrategy 参数值匹配策略 数字 0 精确匹配,不设置此为默认值
1 子串查询匹配
2 正则表达式匹配
pattern 参数值匹配内容 字符 —— 按匹配策略来配置的值,只有匹配该模式的请求属性值会纳入统计和流控;若为空则统计该请求属性的所有值。

你可能感兴趣的:(java,springcloud)