限流故障处理
限流不是加个计数器:我们踩过的三个坑
按 IP 限流会误伤整栋楼、滑动窗口要用哨兵值、限流要能降级。
KeLi7 分钟读完903 次阅读
本页目录(3 节) 展开
坑一:只按 IP 限流
公司出口只有一个 IP,一个人跑脚本,全公司都被挡。账号为主、IP 为辅才合理。
坑二:固定窗口会「双倍放行」
窗口边界前后各打一次,就能在 2 秒内拿到 2 倍配额。用滑动窗口或令牌桶。
坑三:限流组件自己挂了
限流器依赖 Redis,Redis 一抖动,全站 500。限流必须 fail-open,宁可多放几个请求。
| 方案 | 误伤 | 精度 | 实现成本 |
|---|---|---|---|
| 固定窗口 | 低 | 差 | 低 |
| 滑动窗口 | 低 | 好 | 中 |
| 令牌桶 | 低 | 好 | 中 |