SpringBoot系列之基于Redis的分布式限流器 - 教程

SpringBoot系列之基于Redis的分布式限流器

SpringBoot 系列之基于 Redis 的分布式限流器

图文并茂,代码即拷即用,拥护 4 种算法(固定窗口 / 滑动窗口 / 令牌桶 / 漏桶)


一、为什么要用分布式限流?

单机 Guava-RateLimiter 在集群下会各玩各的,流量漂移,无法全局控量。
把计数器放到Redis 里,借助 Lua 原子脚本,即可实现 毫秒级、跨节点的精准限流。


二、4 种算法简介

1️⃣ 固定窗口
把每 1 秒当作一个“闸门”,闸门内计数 ≤ N 放行,到点就清零。
优点:最简单;缺点:闸门交界瞬间可能双倍流量。
在这里插入图片描述

2️⃣ 滑动窗口
把 1 秒切成很多 100 ms 小格,实时统计最近 1 s 内的小格总和。
优点:无临界突发;缺点:需要维护有序集合。

posted @ 2025-08-05 20:45  yjbjingcha  阅读(28)  评论(0)    收藏  举报