VortMall 技术指南
Sentinel 网关限流规则(Nacos 持久化)
Sentinel 网关限流规则(Nacos 持久化)
网关(vortmall-gateway)的 Sentinel 限流规则通过 Nacos 配置中心管理,支持动态调整,无需重启服务。
配置项清单
在 Nacos 控制台中需要创建以下两个配置,namespace 与网关一致(默认 public),Group 统一为 SENTINEL_GROUP。
| Data ID | 说明 | 对应文件 |
|---|---|---|
sentinel-gateway-flow-rules | 网关限流规则(QPS 阈值) | sentinel-gateway-flow-rules.json |
sentinel-gateway-api-groups | API 分组定义(路径聚合) | sentinel-gateway-api-groups.json |
导入步骤
- 打开 Nacos 控制台,切换到对应 namespace(默认
public) - 配置管理 → 配置列表 → 新建配置
- 分别创建两个配置项:
- Data ID:填写上表中的 Data ID
- Group:
SENTINEL_GROUP - 配置格式:JSON
- 配置内容:复制本目录下对应 JSON 文件的内容
- 发布后网关自动加载,无需重启
限流规则字段说明
sentinel-gateway-flow-rules.json 中每条规则的字段含义:
| 字段 | 说明 | 示例值 |
|---|---|---|
resource | 关联的 API 分组名称 | auth-api |
resourceMode | 资源模式,1 = 自定义 API 分组 | 1 |
count | QPS 阈值(每秒允许的请求数) | 50 |
intervalSec | 统计窗口(秒) | 1 |
默认阈值
| API 分组 | 覆盖路径 | QPS 阈值 | 设计意图 |
|---|---|---|---|
auth-api | /api/auth/**、/adminapi/auth/** | 50 | 认证接口收紧,防暴力破解 |
front-api | /api/** | 500 | 前台接口常规保护 |
admin-api | /adminapi/** | 200 | 管理后台接口保护 |
API 分组字段说明
sentinel-gateway-api-groups.json 中每个分组的字段含义:
| 字段 | 说明 | 示例值 |
|---|---|---|
apiName | 分组名称,与限流规则的 resource 对应 | auth-api |
predicateItems[].pattern | URL 匹配模式 | /api/auth/** |
predicateItems[].matchStrategy | 匹配策略,0 = 精确,1 = 前缀 | 1 |
动态调整
在 Nacos 控制台直接修改 JSON 内容并发布,网关会实时接收推送并生效,无需重启。
常见调整场景:
- 大促前:临时提高
front-api的 QPS 阈值 - 遭遇攻击:降低
auth-api的 QPS 阈值 - 新增 API 分组:在两个配置中同时添加新的分组和对应规则
大纲
Sentinel 网关限流规则(Nacos 持久化)
配置项清单
导入步骤
限流规则字段说明
默认阈值
API 分组字段说明
动态调整
赣公网安备36010902001041号