Skip to main content

ensure_limiter_gc

Function ensure_limiter_gc 

Source
fn ensure_limiter_gc()
Expand description

启动后台限流桶 GC 任务(全进程仅生效一次)。

七个 IP 键控限流器均为独立的 DefaultKeyedRateLimiter,没有集中状态表,故采用 惰性启动:首个请求到达任一 check_* 时,经 Once 派生一个常驻 tokio 任务,按 limiter_gc_interval 周期对全部限流器调用 retain_recent,回收长时间未命中的 键。这直接缓解 IP 轮换攻击下的内存膨胀——攻击者不断换 IP 制造新键,GC 周期性剔除 已冷却的旧键,使键集合大小收敛到「限流窗口内的活跃 IP」。