refactor(rate-limit): 限流架构升级为双层滑动窗口,新增IP全局防护与响应头
限流算法从 INCR+EXPIRE 固定窗口升级为 ZSET+Lua 滑动窗口, 新增 IpRateLimitFilter 提供 IP 全局防护(默认 1000次/60s)。 新增 X-RateLimit-Limit/Remaining/Reset 响应头与 Retry-After, 新增 rate-limit.ip.* 配置项控制 IP 全局开关与阈值, @RateLimit 空注解统一走全局配置,消除硬编码。
This commit is contained in:
@@ -12,7 +12,11 @@ public interface RedisConstants {
|
||||
* 限流相关键
|
||||
*/
|
||||
interface RateLimiter {
|
||||
String API = "{}rate_limit:{}:{}"; // 接口限流(示例:login:rate_limit:token:/api/v1/auth/login)
|
||||
/** 接口级限流 Key(示例:login:rate_limit:token:/api/v1/auth/login) */
|
||||
String API = "{}rate_limit:{}:{}";
|
||||
|
||||
/** IP 全局限流 Key(示例:rate_limiter:ip:192.168.1.100) */
|
||||
String IP = "rate_limiter:ip:{}";
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user