操作场景
限流策略用于控制客户端对 AI 网关 API 的访问频率,保护后端模型服务免受突发流量冲击。AI 网关提供三层限流体系,您可以根据业务需求灵活选择:
限流层级 | 说明 | 适用场景 | 是否支持时间窗口策略 |
基础限流 | 全局限流,对当前模型 API 的所有请求进行整体限制,支持按并发数、请求数、总 Token 数等指标限流 | 保护后端服务的整体容量 | ✔ 支持 |
参数限流 | 按不同维度配置限流阈值,支持按消费者、API、路由等维度分别设置限流规则 | 多租户场景,不同消费者差异化配额 | ✖ 不支持 |
精细化限流 | 针对不同的参数值(如客户端 IP)设置精细化限流阈值,按顺序匹配 | 防止单一客户端异常占用 | ✖ 不支持 |
本文档将指导您如何在 AI 网关中配置和管理限流策略。
前置条件
已创建 AI 网关实例。
已创建模型 API。
已创建消费者(如需按消费者限流)。
操作步骤
步骤1:进入目标 API 限流策略配置页
1. 登录 微服务平台控制台 ,左侧导航栏选择 AI 网关进入实例列表。
2. 在实例列表页面,单击需要配置的网关实例的"ID",进入该网关实例的基本信息页面。
3. 在左侧导航栏单击模型管理,单击模型 API 页签。
4. 单击目标模型 API 名称(已创建的 API),进入其详情页,单击限流策略。
步骤2:开启限流
开启限流开关。
步骤3:选择限流层级并配置限流规则
在限流配置区域,首先选择限流层级,不同层级的配置规则如下。
基础限流
基础限流对整个 API 生效,对所有请求统一计数。
1. 开启基础限流。
2. 根据实际需求选择限流指标类型并配置对应阈值:
总 Token (时间窗口内允许的总 Token 消耗量)
请求数(时间窗口内允许的最大请求次数)
并发数(允许的最大并发连接数)
3. 可单击添加限流规则,为当前 API 配置多层限流,例如:
规则 1:并发数最多 1000 个并发
规则 2:总 Token 每分钟请求数最多 1000 个
说明:
基础限流的阈值在未匹配任何时间窗口规则时作为兜底值生效。如需按不同时段配置差异化阈值,请参见步骤4:启用时间窗口策略。
参数限流
参数限流允许按不同维度分别配置限流阈值,不同维度独立计数。
1. 开启参数限流。
2. 根据实际需求选择选择限流维度并配置对应阈值:
消费者:按消费者限流,不同消费者独立计数,适用于多租户场景
API:按 API 限流,所有消费者共享配额,适用于保护后端服务
路由:按路由限流,仅适用于 Agent API,可为不同的路由配置不同的限流策略
3. 可单击添加限流阈值,为消费者配置多层限流,例如:
规则 1:消费者 A,并发数最多 1000 个并发
规则 2:消费者 A,每分钟请求数最多 5000 次
精细化限流
精细化限流支持按具体条件(如客户端 IP)设置限流规则,按配置顺序匹配。
1. 开启精细化限流。
2. 配置限流条件,根据实际需求选择条件类型、填写参数名和参数值。
3. 为该条件配置限流阈值。
4. 可单击添加限流阈值,为同一条件添加多条限流阈值。
5. 可单击添加规则,新增精细化限流的不同条件并配置对应限流阈值。
注意:
在同一限流层级中,同一限流指标只能配置一条规则。若尝试重复添加,系统将弹出提示信息并拦截。
可同时配置基础限流、参数限流和精细化限流,三层规则组合生效。网关会依次检查所有规则,任意规则触发限流都会拒绝请求。
步骤4:启用时间窗口策略(可选)
时间窗口策略允许按不同时间段配置差异化的限流阈值,实现业务高峰期和低峰期的动态流量管控。仅基础限流支持配置时间窗口策略,参数限流和精细化限流暂不支持。
1. 在基础限流配置区域,勾选启用时间窗口策略复选框。
2. 勾选后,页面将自动展示时间窗口配置区域,包含快捷策略选项和时间窗口规则列表。
3. 通过以下三种方式添加时间窗口规则,并为每条规则的阈值配置相应限流阈值:
快捷策略——工作日/非工作日
快捷策略——白天/晚上
自定义时段
4. 配置时间窗口策略并保存后,支持在限流策略页面单击规则生效预览,验证规则匹配结果。系统将展示所选时间点的基础限流生效规则详情,包括生效规则名称、优先级、限流指标与阈值。
说明:
请求到达时,系统将按以下逻辑确定生效的基础限流阈值:
场景 | 匹配结果 | 生效阈值 |
当前时间匹配到某条时间窗口规则 | 匹配成功 | 使用该时间窗口规则的阈值 |
当前时间未匹配任何时间窗口规则 | 匹配失败 | 回退到基础限流配置的阈值(兜底值) |
示例:基础限流配置 1 分钟最多 500 个请求,启用时间窗口策略后添加规则"工作日 09:00-18:00 1 分钟最多 100 个请求"。则工作日白天生效 100,其他时段生效 500。
步骤5:配置自定义返回内容(可选)
默认情况下,请求触发限流后网关返回固定的 429 响应。若需自定义响应内容以适配业务侧的错误处理逻辑,可通过限流响应策略配置。
1. 在限流策略配置页下方,单击高级配置展开该区域。限流响应策略与限流响应配置均位于此处。
2. 选择限流响应策略
选项 | 说明 |
直接返回 | 使用网关默认的限流响应,无需额外配置 |
自定义返回 | 自定义状态码、响应体与响应头 |
3. 选择 自定义返回 后,页面展开 限流响应配置 卡片,配置限流响应内容。
配置参数 | 说明 |
状态码 | 限流触发后返回的 HTTP 状态码,取值范围 200-599,默认 429。 |
请求协议 | 展示当前模型 API 的请求协议(如 OpenAI),该字段为只读,用于提示您按对应协议的错误格式编写响应体 |
响应体 | 填写限流触发后返回的响应体内容。单击 一键填充模板,系统按当前请求协议自动填入标准错误响应模板,可在此基础上修改。 |
响应头 | 单击 添加响应头 可添加自定义响应头。自定义响应头与网关内部默认头同名时,以此处配置优先。 |
隐藏限流响应头 | 开关,默认开启。开启后客户端不会收到限流相关的响应头。 |
步骤6:启用请求排队(可选)
当请求触发限流阈值时,默认直接拒绝请求并按限流响应策略返回。开启请求排队后,超出的请求进入等待队列,待并发有空位时继续处理,从而在算力紧张时保留请求成功的机会。
开启请求排队
在限流策略配置页下方,打开请求排队开关。
说明:
请求排队仅在并发数维度的限流规则触发时生效。请求数与总 Token 数维度触发限流时不排队——时间窗口内的计数超限意味着本窗口配额已耗尽,等待无法释放计数器,请求会直接按限流响应策略返回。
排队时间配置
开启请求排队后,需配置排队时间。排队时间按消费者优先级分为三档,均以秒为单位,三档必须满足高优 ≥ 中优 ≥ 低优:
配置参数 | 说明 |
高优 | 高优消费者的最大排队等待时长,默认7秒,取值范围0 ~ 60秒。 |
中优 | 中优消费者的最大排队等待时长,默认3秒,取值范围0 ~ 60秒。 |
低优 | 低优消费者的最大排队等待时长,默认1秒,取值范围0 ~ 60秒。 |
说明:
1. 排队时间的语义是“该档位请求最多允许等待多久”。高优档位配置更长的等待时长,意味着高价值请求在算力紧张时更愿意排队等待、更不容易被丢弃;低优档位配置较短时长,使批处理等低价值请求快速失败,及早释放队列位置。因此约束为高优 ≥ 中优 ≥ 低优,配置时不要写成高优时长最短。
2. 请求等待超过对应档位的排队时长后,按 步骤5 中配置的限流响应策略处理,返回 429 或携带 Retry-After。
步骤7:启用优先级调度(可选)
开启请求排队后,队列默认按先进先出(FIFO)顺序处理。启用优先级调度后,队列按消费者的优先级档位出队,高优请求优先获得处理。
配置消费者优先级
优先级调度依据消费者的优先级档位决定出队顺序,该字段在消费者管理中配置,而非在限流策略页配置。
1. 在左侧导航栏进入消费者管理。
2. 新建消费者,或单击已有消费者名称进入详情页。
3. 配置优先级字段,可选高优、中优、低优。未配置优先级的消费者默认为中优。存量消费者无需改动即可继续使用,
开启优先级调度
开启 优先级调度 开关。
说明:
优先级调度(高优请求优先出队)仅在全局并发规则触发排队时生效,对消费者维度的并发数规则不生效。即:当请求因基础限流的全局并发数超限而进入队列时,按优先级出队;若请求是因某个消费者自身的并发数超限而排队,则不适用优先级调度。
步骤8:保存配置
单击确定保存限流策略配置。