Skip to main content

· 2 min read
fengjutian

An Interactive Guide To Rate Limiting


🚦 Rate Limiting 简介

  • 目的:限制用户请求频率,防止资源被滥用,提升服务稳定性与质量。
  • 优势
    • 防止资源枯竭
    • 降低服务器成本
    • 提供 DDoS 防护的基础手段

🧪 四种常见 Rate Limiting 算法(均附有交互式演示)

🎟️ Token Bucket

  • 固定容量的令牌桶
  • 定期填充令牌,处理请求需消费一个令牌
  • 若无令牌,则拒绝请求或延迟处理
  • 支持短时间突发流量

💧 Leaky Bucket

  • 请求进入桶中,桶以恒定速率漏出(处理请求)
  • 桶满则新请求被丢弃
  • 平滑处理流量,输出速率稳定

🕒 Fixed Window Counter

  • 时间被划分为固定窗口(如每分钟)
  • 每个窗口统计请求数量,超出则拒绝
  • 简单高效,但可能在窗口交界处引发请求突刺

🪟 Sliding Window Counter

  • 记录每个请求的时间戳
  • 每次新请求到来时,检查过去 X 秒内的请求数量
  • 超限则拒绝,否则记录请求
  • 更平滑但实现稍复杂

地址:https://blog.sagyamthapa.com.np/interactive-guide-to-rate-limiting