fix: 闸门 fail-closed 堵重启/Redis 故障窗口漏放
- _check_request_block: Redis 不可用/无限额/读取异常时监控条目恒 429(标记 -1,-1),非监控渠道不受影响;原实现任何异常 fail-open - async_pre_call_hook: 识别 fail-closed 标记返回 quota unavailable 429 - FALLBACK_LIMIT 900k→200k(免费池 2M 的 10%),收窄 0 余额模型兜底泄露 - docker-compose: redis 开启 AOF(--appendonly yes everysec),防重启丢快照/用量 - active_monitor_loop: 首轮跳过 CHECK_INTERVAL,额度未同步空窗 12-20s 缩至 2-5s
This commit is contained in:
+3
-1
@@ -50,7 +50,9 @@ services:
|
||||
# --maxmemory-policy allkeys-lru : 内存满了之后,自动删除最久未使用的缓存(无论是否过期)
|
||||
# --save "" : 如果你不需要持久化缓存到硬盘(重启后清空),可以把 save 设为空,减少磁盘IO
|
||||
# command: redis-server --save 60 1 --maxmemory 128mb --maxmemory-policy allkeys-lru --loglevel warning
|
||||
command: redis-server --maxmemory 32mb --maxmemory-policy allkeys-lru --save 300 1 --loglevel warning
|
||||
# --appendonly yes: 开启 AOF,防止 Redis 崩溃/重启丢失快照与用量 key →
|
||||
# 避免"额度未同步"fallback 窗口(首次同步前)被大请求烧穿免费额度
|
||||
command: redis-server --maxmemory 32mb --maxmemory-policy allkeys-lru --save 300 1 --appendonly yes --appendfsync everysec --loglevel warning
|
||||
environment:
|
||||
TZ: Asia/Shanghai
|
||||
# 配置详解:
|
||||
|
||||
Reference in New Issue
Block a user