服务的全局限流
目录
介绍
全局限流通过以下方式保护服务在高并发场景下不被过载:
- 将请求量控制在服务承载能力范围内
- 通过流量整形防止资源耗尽
- 通过条件策略实现精确访问控制
核心价值:确保服务稳定性的同时最大化资源利用率
功能特点
- 全局与条件策略模式
- 多维度规则匹配(路径/方法/请求头)
- 策略验证的影子模式
- 实时监控面板
优势
- 精确控制:细粒度的 API 级别限流
- 风险缓解:通过影子模式实现的干运行能力
- 灵活匹配:支持正则/等于/不等于操作符
- 可视化验证:即时反馈策略效果
创建限流策略
第一步:访问策略界面
- 进入:服务列表 > 目标服务
- 选择 限流 标签页
- 点击 创建限流策略
第二步:选择策略类型
类型 | 约束条件 |
---|
全局策略 | • 每个服务仅允许一个策略,或与条件策略存在关联 |
条件策略 | • 允许多个策略且规则之间存在关联 |
第三步:配置策略规则
规则组成
类别 | 示例 | 匹配方式 |
---|
API 路径 | /api/v1 | 等于/不等于/正则 |
HTTP 方法 | POST | 等于/不等于 |
请求头 | User-Agent: Mobile | 等于/不等于/正则 |
配置说明
- 正则匹配遵循 RE2 语法
- 请求头匹配需完整
key:value
格式
- 多条规则间为 AND 关系
第四步:设置限流阈值
参数 | 说明 |
---|
请求数/单位时间 | 最大允许请求数 |
ShadowMode | • 关闭:强制限流 开启:仅审计模式 |
限流监控
关键指标
指标 | 关闭 ShadowMode | 开启 ShadowMode |
---|
请求数 | 实际服务请求数 | 匹配请求数 |
限流数 | 拒绝请求数 | 潜在拒绝数 |
数据解读
- 从下拉框选择策略
- 选择时间范围(最近1小时/24小时/7天)
- 对比允许与限流曲线
- 验证策略效果
策略管理
- 全局-条件关联:匹配任一策略类型的请求均被限流
- 规则优先级:条件策略遵循首匹配原则
- 策略编辑:修改后即时生效