🚦 限流算法动画演示

🪣 令牌桶算法

以固定速率生成令牌,允许突发流量。桶满时令牌溢出,请求需要消耗令牌才能通过。

令牌: 0/10
总请求
0
通过
0
拒绝
0

💧 漏桶算法

以恒定速率处理请求,无论请求速率如何。桶满时拒绝新请求,不允许突发。

队列: 0/10
总请求
0
通过
0
拒绝
0

🪟 固定窗口算法

在固定时间窗口内限制请求数量。窗口重置时计数清零,可能在边界处出现突发。

窗口: 10s
计数: 0/16
总请求
0
通过
0
拒绝
0

🎯 滑动窗口算法

时间窗口持续滑动,统计窗口内的请求数。比固定窗口更平滑,解决了边界突发问题。

窗口内: 0/16
最近 10 秒
总请求
0
通过
0
拒绝
0

算法对比

算法 特点 适用场景
令牌桶 允许突发,平滑限流 API限流、流量整形
漏桶 恒定速率,不允许突发 严格限流、平滑输出
固定窗口 简单,但边界可能突发 简单计数限流
滑动窗口 平滑限流,解决边界突发 精确限流、高并发场景