Appearance
L04-03 限流与配额:防滥用也防超支
全局中心内容:速率限流防击穿,总量配额防超支——两个维度缺一不可。 全局讲解主线:两类事故 → 三级模型 → 限流算法 → 配额设计 → 降级阶梯 → 编码 → 体验。
P1 · 产出页
中心内容:全局 / 租户 / 用户三级限流 + 日/月额度配额。
- 讲解技巧
- 开场两类事故:一次压测把额度用完(速率问题),一个月账单超预算 5 倍(总量问题)。
- 强调:只做速率限流挡不住第二种。
- 时长:30s
P2 · 三级模型
中心内容:全局保系统、租户保预算、用户防滥用。
页面内容:三级配置示例
讲解技巧
- 讲清为什么要三级:只有全局限流的话,一个租户能占满全部额度。
时长:5min
P3 · 限流算法
中心内容:令牌桶(允许突发)vs 固定窗口(简单但边界突刺)。
- 讲解技巧
- 推荐令牌桶:AI 场景的请求天然是突发的。
- 提醒固定窗口的边界问题:59 秒和 01 秒各打满,实际两倍速率。
- 时长:5min
P4 · Redis + Lua
中心内容:原子扣减,避免并发超发。
页面内容:Lua 脚本思路
讲解技巧
- 强调「先读后写」在并发下必然超发,必须用 Lua 保证原子性。
- 提醒 Redis 挂了要有降级策略(本地计数或放行)。
时长:6min
P5 · 配额维度
中心内容:按 Token 计费比按次数更公平。
- 讲解技巧
- 讲清理由:一次长对话和一次短问答成本差几十倍,按次数限流会被钻空子。
- 提醒要支持按模型加权(贵模型消耗更多额度)。
- 时长:5min
P6 · 降级阶梯
中心内容:软限额告警 → 硬限额拒绝 → 降档模型。
- 讲解技巧
- 强调中间要有一档「降档」:直接拒绝用户体验很差,降档是更好的过渡。
- 提醒要提前通知(用到 80% 时提醒)。
- 时长:5min
P7 · 编码:限流实现
中心内容:网关 Filter 里做三级校验。
- 讲解技巧
- 强调校验顺序:先全局(最便宜),再租户,最后用户。
- 提醒被限流要返回标准 429 并带 Retry-After。
- 时长:6min
P8 · 用户体验
中心内容:被限流要说清楚为什么、什么时候恢复、找谁申请。
- 讲解技巧
- 产品视角:给一个「申请扩容」的入口,否则用户只会来找你。
- 时长:4min
P9 · 避坑与小结
中心内容:额度要能临时调整,且调整要有审计。
- 讲解技巧
- 引出下一节:限流是平台内部的事,服务边界怎么划——04-04。
- 时长:3min
讲师备忘
| 项 | 内容 |
|---|---|
| 课前必做 | 准备三级配置示例;准备 Lua 脚本 |
| 最容易超时处 | P4 Redis Lua,容易被追问并发细节 |
| 学员最常问 | 「集群下怎么限流?」答:Redis 集中计数,单实例误差可接受 |
| 现场备用 | 无 Redis → 用本地令牌桶演示算法 |