限流——给系统装上“流量阀门“
限流——给系统装上"流量阀门"
你有没有在节假日去过热门景点?
生活场景:景区的限流
没有限流时
故宫宣布免费开放:
- 10万人涌入
- 人挤人,人踩人
- 发生踩踏事故
- 景区设施损坏
有限流后
故宫每天限流8万人:
- 网上提前预约
- 现场刷身份证入园
- 超出8万的明天再来
- 游客体验良好,景区安全
限流的目的:保护系统不被压垮,保证服务质量。
技术故事:为什么要限流?
假设服务器只能处理1000 QPS:
10:00 正常流量 800 QPS ─────────▶ 服务器OK 11:00 秒杀活动 5000 QPS ──────▶ 服务器崩溃 所有请求超时 用户疯狂重试 流量翻倍 系统宕机!限流的作用:在入口处把多余的流量挡掉,保护后端系统。
限流算法
1. 计数器算法(最简单)
固定时间窗口内,统计请求数:
