服务的全局速率限制
介绍
全局速率限制通过以下方式保护服务免受高并发场景下的过载:
- 在服务能力范围内维持请求量
- 通过流量控制防止资源耗尽
- 通过条件策略实现精确的访问控制
核心价值:确保服务稳定性,同时最大化资源利用率
特性
- 全局和条件策略模式
- 多维度规则匹配(路径/方法/头部)
- 政策验证的影子模式
- 实时监控仪表盘
优势
- 精确控制:细粒度的API级节流
- 风险缓解:通过影子模式实现的干运行能力
- 灵活匹配:正则/等于/不等于运算符
- 可视化验证:即时的政策有效性反馈
创建速率限制政策
步骤 1:访问政策接口
- 导航:服务列表 > 目标服务
- 选择速率限制标签
- 点击创建速率限制政策
步骤 2:政策类型选择
类型 | 限制条件 |
---|
全局政策 | • 每个服务一个政策 OR 与条件政策的关系 |
条件政策 | • 允许多个政策 AND 规则之间的关系 |
步骤 3:配置政策规则
规则组件
分类 | 示例 | 匹配方法 |
---|
API路径 | /api/v1 | 等于/不等于/正则 |
HTTP方法 | POST | 等于/不等于 |
头部 | User-Agent: Mobile | 等于/不等于/正则 |
配置说明
- 正则匹配遵循 RE2 语法
- 头部匹配要求完整的
key:value
格式
- 多个规则使用 AND 组合
步骤 4:设置速率阈值
参数 | 描述 |
---|
请求/单位时间 | 最大允许的请求数 |
影子模式 | • 禁用:强制执行限制 启用:仅审计模式 |
速率限制监控
关键指标
指标 | 影子模式禁用 | 影子模式启用 |
---|
请求 | 实际服务请求数 | 匹配请求数 |
限制 | 被拒绝的请求数 | 潜在拒绝请求数 |
数据解释
- 从下拉菜单中选择政策
- 选择时间范围(最近1小时/24小时/7天)
- 比较允许的曲线与限制的曲线
- 验证政策有效性
政策管理
- 全局-条件关系:匹配任一政策类型的请求都将受到限制
- 规则优先级:条件策略中的首个匹配原则
- 政策编辑:修改后立即生效