限流算法可视化实验室

调节请求速率与限流阈值,点击「注入突发流量」,直观观察五种限流算法的行为差异

● 灰点 = 请求到达  →  绿点 = 放行 / 红点 = 拒绝(被拒绝的请求会坠落)
总请求数
0
已放行
0
已拒绝
0
放行率
—
当前瞬时通过率
—

五种算法横向对比

算法核心思想应对突发平滑度内存开销典型应用
固定窗口计数器每个时间窗口内计数,超限即拒差(边界双倍)差极低 O(1)粗粒度配额、API 日限额
滑动窗口日志记录每次请求时间戳,精确统计窗口内数量好好高 O(n)对精度要求极高的小流量场景
滑动窗口计数器当前窗口计数 + 上一窗口加权估算较好较好低 O(1)通用 API 限流(精度与成本折中)
令牌桶恒定速率发令牌,请求取令牌通行好(可攒令牌)较好低 O(1)Guava RateLimiter、Nginx limit_req
漏桶请求入桶排队,恒定速率漏出处理差(强行整流)极好低 O(1)保护下游、消息队列削峰