Hotdry.

Article

企业级 LLM API 限流架构:令牌桶与断路器设计实战

基于 token bucket 模型与 circuit breaker 模式,为大规模 LLM 计算工作负载设计企业级限流网关,提供可落地的参数配置与监控清单。

2026-05-07ai-systems

当企业需要在 SpaceX 级计算规模上调用 Claude 等 LLM API 时,单纯的固定窗口限流远远不够。流量突发性、模型调用成本、第三方供应商稳定性等因素交织,使得限流架构必须兼顾精细控制与系统韧性。本文聚焦工程实现,从令牌桶模型选型、断路器策略到监控告警,给出可落地的企业级方案。

令牌桶模型的企业适配

Claude API 官方采用 token bucket(令牌桶)模型进行限流,这意味着容量随时间连续补充而非固定窗口重置。与传统的固定窗口或滑动窗口相比,令牌桶允许一定程度的流量突发,同时通过桶深控制长期平均速率。在企业级场景中,这一模型的适配需要关注以下三个维度。

首先是 RPM 与 TPM 的分离控制。Claude 对请求速率(Requests Per Minute)和令牌速率(Tokens Per Minute)分别设限,且仅未缓存的输入令牌计入限流。企业网关应当在入口层区分这两种资源:RPM 限流保护后端服务的计算节点,TPM 限流保护 token 消耗预算。实践中建议为 RPM 和 TPM 各维护独立的令牌桶实例,并通过加权轮询分配配额。一个典型的配置参数是:RPM 桶深设为 1.5 倍正常峰值,以容忍 50% 的短期抖动;TPM 桶深则根据企业月度预算反推每日消耗后再分配至每分钟。

其次是多租户隔离策略。单一租户耗尽共享配额会导致其他租户受损,这在大规模企业场景中是不可接受的。建议按组织(org_id)、用户(user_id)和 API 密钥三级维度分别建立令牌桶,形成层级化的配额继承结构。顶层组织桶设定全局预算,中间层用户桶限制单租户峰值,底层 API 密钥桶用于细粒度追溯。配额分配比例可根据业务重要性动态调整,核心业务租户可获得 70% 的保底配额,剩余 30% 由弹性池共享。

第三是预算控制与吞吐控制的解耦。许多企业不仅需要控制流量速率,还需要控制月度或年度支出。一种有效的做法是在令牌桶之上再叠加一个独立的预算桶,以时间窗口内的总消耗为度量维度。当预算桶接近阈值时,触发告警并自动降级至低配模型或返回缓存结果,而非简单拒绝请求。

断路器模式的多层防护

令牌桶解决的是「流量过大」的问题,但上游供应商服务不可用时,限流本身无法防止级联故障。此时需要引入断路器(Circuit Breaker)模式,其核心思想是将失败快速放大还是让流量继续冲击已故障的下游。

断路器通常具有三种状态:关闭态(Closed)下请求正常通过,统计失败率;打开态(Open)下直接返回错误或 Fallback,快速失败;半开态(Half-Open)下允许少量探测流量,验证上游是否恢复。对于 LLM API 场景,失败信号的判定比传统 HTTP API 更为复杂。LLM 特有的失败包括:请求超时(LLM 生成 token 耗时波动大)、响应延迟退化(正常返回但 P99 延迟超出阈值)、模型输出格式错误(HTTP 200 但 JSON 解析失败)、以及 rate limit 429 错误。

企业实现时,建议采用双层断路器架构。第一层为传输层断路器,基于 HTTP 状态码和超时进行快速熔断,配置参数建议为:连续 5 次失败或 10 秒内失败率超过 30% 时打开断路器,打开持续时间设为 30 秒,半开态探测间隔为 10 秒。第二层为语义层断路器,在传输层之上增加输出质量检测,例如验证 JSON Schema、检测输出长度异常、或者运行轻量级评估模型判断响应合理性。语义层断路器的阈值应更宽松,建议连续 3 次质量检测失败才触发打开。

降级与重试策略

断路器打开后的处理方式直接影响系统可用性。企业 LLM 网关通常配置多层降级路径:首选为同供应商的备用模型(如从 Claude 3.5 降级至 Claude 3 Haiku),次选为跨供应商的同级别模型(如从 Anthropic 切换至 OpenAI),最后为本地小模型或缓存结果。降级策略应记录详细的切换日志,便于事后追溯哪些请求走了哪条路径。

重试策略需要严格控制,否则会放大故障。LLM 请求的重试应仅针对瞬态失败,包括网络超时、HTTP 503、429(带 Retry-After 头)。重试间隔采用指数退避,初始延迟 1 秒,最大延迟 32 秒,每次重试增加随机抖动(jitter)避免惊群效应。重试次数建议不超过 3 次,且总重试耗时不超过单次请求的超时阈值。

监控与可观测性

运维层面的监控指标应覆盖以下关键点:每秒请求速率、令牌消耗速率、令牌桶剩余容量、断路器状态分布、请求延迟分布(P50、P95、P99)、错误率分类统计、以及各租户的资源消耗占比。告警阈值建议如下:令牌桶剩余容量低于 20% 时触发预警,低于 10% 时触发限流;断路器打开次数每小时超过 5 次时触发上游健康检查;P99 延迟超过 30 秒时触发服务降级流程。

日志记录应包含租户标识、模型版本、请求大小、令牌消耗、剩余配额、断路器状态和最终响应状态,这些数据是容量规划和成本分析的基础。

工程落地的核心参数清单

企业级 LLM 限流网关的配置可归纳为以下参数:RPM 桶深 1.5 倍峰值、 TPM 桶深按月预算反推、 组织 - 用户 - API 密钥三级隔离、传输层断路器阈值 5 次失败或 30% 失败率、打开持续时间 30 秒、语义层断路器阈值 3 次质量失败、重试指数退避最大 32 秒、3 次重试上限、告警阈值桶剩余 20% 预警、10% 限流、断路器每小时 5 次打开告警。

通过令牌桶控制流量速率、断路器防止级联故障、多层降级保障可用性,企业可以在 SpaceX 级别的计算负载下稳定运行 LLM 业务。

资料来源:Claude API 官方文档关于 rate limits 的技术说明,以及 Maxim AI 关于 LLM 应用中断路器与重试策略的生产实践指南。

ai-systems