🧠AI 部署与项目实战

限流缓存与重试

难度:⭐⭐ | 高频指数:🔥🔥🔥 | 应用岗相关度:★★★

面试回答

常见问法

AI 服务里限流、缓存、重试为什么会被反复问?

回答

因为 AI 服务通常比普通接口更贵、更慢、波动更大。限流、缓存、重试是最基础的稳定性和成本控制手段:

  • 限流:防止流量打爆模型服务或预算
  • 缓存:减少重复请求和重复生成
  • 重试:处理瞬时失败,但必须有边界

追问

  • 哪些请求适合缓存,哪些不适合
  • 为什么重试做不好反而会放大故障
  • 限流应该按用户、按接口还是按租户做

原理展开

AI 场景里缓存常见对象有:

  • embedding 结果
  • 检索结果
  • Prompt 模板渲染结果
  • 完整问答结果

重试要特别小心,因为模型调用失败往往可能和:

  • 上游限频
  • 网络抖动
  • 模型超时
  • 下游工具不稳定

有关。不是所有失败都该立即重试。

面试里能讲清这句就很实用: “限流保护系统,缓存保护成本,重试保护可用性,但三者都必须有边界和可观测性。”

易错点

  • 一味重试,把瞬时故障打成雪崩
  • 缓存不做版本隔离,命中旧结果
  • 只看 QPS,不看 token 成本和模型并发上限

记忆技巧

三件事:

  1. 限流 = 别打爆
  2. 缓存 = 别重复算
  3. 重试 = 别轻易放弃,但也别无脑重来

面试速答版

  • AI 服务比普通接口更贵更慢波动更大,限流缓存重试是最基础的稳定性手段
  • 限流保护系统(防打爆)、缓存保护成本(防重复算)、重试保护可用性(防瞬时失败)
  • 可缓存对象:embedding 结果、检索结果、完整问答结果;不可缓存:实时性要求高的
  • 关键决策:重试必须有边界(指数退避+最大次数),否则瞬时故障会被放大成雪崩
  • 常见坑:无脑重试、缓存不做版本隔离命中旧结果、只看 QPS 不看 token 成本
  • 限流维度要考虑:按用户、按接口、按租户,结合模型并发上限
  • 一句话最佳实践:三者都必须有边界和可观测性,能看到才能调好
Related · 部署与项目实战