🧠AI 部署与项目实战
限流缓存与重试
难度:⭐⭐ | 高频指数:🔥🔥🔥 | 应用岗相关度:★★★
面试回答
常见问法
AI 服务里限流、缓存、重试为什么会被反复问?
回答
因为 AI 服务通常比普通接口更贵、更慢、波动更大。限流、缓存、重试是最基础的稳定性和成本控制手段:
- 限流:防止流量打爆模型服务或预算
- 缓存:减少重复请求和重复生成
- 重试:处理瞬时失败,但必须有边界
追问
- 哪些请求适合缓存,哪些不适合
- 为什么重试做不好反而会放大故障
- 限流应该按用户、按接口还是按租户做
原理展开
AI 场景里缓存常见对象有:
- embedding 结果
- 检索结果
- Prompt 模板渲染结果
- 完整问答结果
重试要特别小心,因为模型调用失败往往可能和:
- 上游限频
- 网络抖动
- 模型超时
- 下游工具不稳定
有关。不是所有失败都该立即重试。
面试里能讲清这句就很实用: “限流保护系统,缓存保护成本,重试保护可用性,但三者都必须有边界和可观测性。”
易错点
- 一味重试,把瞬时故障打成雪崩
- 缓存不做版本隔离,命中旧结果
- 只看 QPS,不看 token 成本和模型并发上限
记忆技巧
三件事:
- 限流 = 别打爆
- 缓存 = 别重复算
- 重试 = 别轻易放弃,但也别无脑重来
面试速答版
- AI 服务比普通接口更贵更慢波动更大,限流缓存重试是最基础的稳定性手段
- 限流保护系统(防打爆)、缓存保护成本(防重复算)、重试保护可用性(防瞬时失败)
- 可缓存对象:embedding 结果、检索结果、完整问答结果;不可缓存:实时性要求高的
- 关键决策:重试必须有边界(指数退避+最大次数),否则瞬时故障会被放大成雪崩
- 常见坑:无脑重试、缓存不做版本隔离命中旧结果、只看 QPS 不看 token 成本
- 限流维度要考虑:按用户、按接口、按租户,结合模型并发上限
- 一句话最佳实践:三者都必须有边界和可观测性,能看到才能调好
Related · 部署与项目实战