限流——给系统装上“流量阀门“

限流——给系统装上“流量阀门“

限流——给系统装上"流量阀门"

你有没有在节假日去过热门景点?

生活场景:景区的限流

没有限流时

故宫宣布免费开放:

  • 10万人涌入
  • 人挤人,人踩人
  • 发生踩踏事故
  • 景区设施损坏

有限流后

故宫每天限流8万人:

  • 网上提前预约
  • 现场刷身份证入园
  • 超出8万的明天再来
  • 游客体验良好,景区安全

限流的目的:保护系统不被压垮,保证服务质量。

技术故事:为什么要限流?

假设服务器只能处理1000 QPS:

10:00 正常流量 800 QPS ─────────▶ 服务器OK 11:00 秒杀活动 5000 QPS ──────▶ 服务器崩溃 所有请求超时 用户疯狂重试 流量翻倍 系统宕机!

限流的作用:在入口处把多余的流量挡掉,保护后端系统。

限流算法

1. 计数器算法(最简单)

固定时间窗口内,统计请求数: