feat(rpm): RPM 限流模块优化
P0: - rpm_override 嵌入 Auth Cache Snapshot,消除每请求 DB 查询 (snapshot v6→v7) - 429 RPM 响应返回 Retry-After 头(当前分钟剩余秒数) P1: - ClearAll 按钮直连 DELETE API,带 loading 防重复 - 新增 GET /admin/users/:id/rpm-status 管理员 RPM 用量查询端点 优化: - checkRPM 从级联互斥改为并行取最严,user.rpm_limit 作为全局硬上限始终生效 - Override/Group 变更后自动失效 auth cache - fail-open 语义不变,Redis 故障不阻塞业务
This commit is contained in:
7
backend/migrations/125_add_group_rpm_limit.sql
Normal file
7
backend/migrations/125_add_group_rpm_limit.sql
Normal file
@@ -0,0 +1,7 @@
|
||||
-- Add per-group Requests-Per-Minute limit.
|
||||
-- rpm_limit: 分组统一 RPM 上限(0 = 不限制)。
|
||||
-- 一旦配置即接管该用户在该分组的限流,覆盖用户级 users.rpm_limit。
|
||||
-- 计数键:rpm:ug:{user_id}:{group_id}:{minute}。
|
||||
ALTER TABLE groups ADD COLUMN IF NOT EXISTS rpm_limit integer NOT NULL DEFAULT 0;
|
||||
|
||||
COMMENT ON COLUMN groups.rpm_limit IS '分组 RPM 上限;0 表示不限制;设置后接管该分组用户的限流(覆盖用户级 rpm_limit)。';
|
||||
Reference in New Issue
Block a user