以固定速率生成令牌,允许突发流量。桶满时令牌溢出,请求需要消耗令牌才能通过。
以恒定速率处理请求,无论请求速率如何。桶满时拒绝新请求,不允许突发。
在固定时间窗口内限制请求数量。窗口重置时计数清零,可能在边界处出现突发。
时间窗口持续滑动,统计窗口内的请求数。比固定窗口更平滑,解决了边界突发问题。
| 算法 | 特点 | 适用场景 |
|---|---|---|
| 令牌桶 | 允许突发,平滑限流 | API限流、流量整形 |
| 漏桶 | 恒定速率,不允许突发 | 严格限流、平滑输出 |
| 固定窗口 | 简单,但边界可能突发 | 简单计数限流 |
| 滑动窗口 | 平滑限流,解决边界突发 | 精确限流、高并发场景 |