1. 限流与熔断概述
1.1 限流与熔断的定义
在模型验证API的分布式架构中,限流(Rate Limiting)与熔断(Circuit Breaking)是保障系统稳定性的两大核心手段。两者目标不同,但相辅相成:
| 概念 | 定义 | 核心目标 |
|---|---|---|
| 限流 | 对单位时间内的请求数量进行上限控制,超过阈值的请求被排队或拒绝 | 防止突发流量压垮服务,保障资源公平分配 |
| 熔断 | 当下游服务或依赖出现连续故障时,主动切断调用链路,快速返回降级响应 | 防止故障级联扩散,缩短故障恢复时间 |
关键区别:限流是主动预防,在流量到达服务前进行控制;熔断是被动保护,在检测到故障后快速隔离。两者共同构成模型验证API的“双保险”。
1.2 在模型验证API中的重要性
模型验证API(如大模型推理、图像分类、NLP处理等)具有以下特性,使得限流与熔断成为刚需:
- 计算资源昂贵:GPU/TPU推理成本高,无限制的并发请求会导致显存溢出或响应超时。
- 响应时间敏感:模型推理通常需要秒级甚至毫秒级响应,过载会大幅增加延迟。
- 依赖链复杂:模型验证往往依赖向量数据库、缓存、特征服务等下游组件,任一环节故障都可能拖垮整体。
- 流量波动剧烈:业务高峰期(如促销、模型评测)流量可能瞬间增长10倍以上。
风险案例:某模型验证API未配置限流,在评测活动期间遭遇10倍突发流量,导致GPU集群OOM,所有推理请求超时,故障持续45分钟,影响下游12个业务线。
1.3 常见应用场景
以下表格列出了模型验证API中限流与熔断的典型应用场景:
| 场景 | 限流策略 | 熔断策略 |
|---|---|---|
| 大模型文本生成 | 按Token数限流(如1000 tokens/s/用户) | 连续5次推理超时则熔断该模型实例 |
| 图像分类API | 按QPS限流(如100 QPS/API Key) | 下游特征服务错误率>50%时熔断 |
| 批量模型评测 | 按并发数限流(如最大50并发) | 评测队列堆积超过阈值时熔断提交接口 |
| 实时语音识别 | 按音频时长限流(如600秒/分钟/用户) | ASR模型连续返回空结果时熔断 |
1.4 限流与熔断的协作流程
下图展示了模型验证API中限流与熔断的典型协作关系:
1.5 限流与熔断的决策维度对比
在实际配置中,限流和熔断关注不同的决策维度,理解这些差异有助于制定合理的策略:
| 决策维度 | 限流关注点 | 熔断关注点 |
|---|---|---|
| 触发条件 | 请求速率、并发数、累计量 | 错误率、超时率、慢调用比例 |
| 作用范围 | 用户、API Key、IP、接口 | 下游服务、模型实例、依赖组件 |
| 恢复机制 | 窗口重置(固定/滑动窗口) | 半开探测(Half-Open) |
| 响应状态码 | 429 Too Many Requests | 503 Service Unavailable |
| 对用户体验的影响 | 可预期,客户端可重试 | 需降级返回,避免长时间等待 |
最佳实践:在模型验证API中,建议将限流阈值设置为服务最大吞吐量的80%,熔断阈值设置为连续5次超时或错误率超过50%。两者配合使用,可以在保障服务稳定性的同时最大化资源利用率。