已采纳
回答正文
回复
讨论正文
该问题的正文与回答。
【背景】
我在做一套对外 API 的安全加固,网关是 4 个副本(Go + 自研,跑在 3 节点 K8s 1.28,无云)。鉴权用「签名 + 时间戳 + nonce」三件套:客户端带 ts、nonce、sign=HMAC(secret, method|path|body|ts|nonce),网关验签后要求 |now-ts| ≤ 5min 且 nonce 未出现过,用来挡重放。
【现象 / 卡点】
【已尝试 / 排查】
SET nonce:xxx 1 NX EX 300:原子判重 + 自动过期,单条 OK,但压测下 8k QPS 时网关到 Redis 的 RT 从 0.8ms 涨到 4ms,P99 抖动明显,且 Redis 挂了网关直接拒绝所有请求(可用性风险);【期望得到的答案形态】 希望得到可落地的取舍,而不是「用 Redis 就行」: