核心结论:根治热点 Key 需构建“多级缓存+流量打散”的立体防御体系,单纯依赖 Redis 副本拆分无法解决内存带宽瓶颈。
1. 强化本地缓存(如 Caffeine)的容量与策略,将其作为第一道防线承接绝大多数读请求;通过发布订阅机制或短 TTL(1-3 秒)确保核心价格、库存等字段的高一致性,允许次要字段存在短暂不一致。
2. 实施请求级随机加盐(Random Suffix)打散策略,将热点 Key 分散至不同分片,但必须配合本地缓存拦截,否则打散后的请求仍会穿透至数据库或 Redis 集群,导致后端存储系统过载。
3. 在应用层实施“请求合并”(Request Coalescing)机制,对同一时刻相同 Key 的并发请求进行合并,仅让一个请求穿透至远程缓存,其余等待结果返回,大幅降低热点 Key 的原始 QPS。
4. 建立动态热点检测与自适应限流机制,实时识别突发流量,对超出阈值的非核心请求进行快速失败或降级返回旧值,保护核心集群资源。
注意:本地缓存与远程缓存的一致性窗口需结合业务容忍度设定,高频变动的数据应缩短 TTL 或采用主动失效通知机制。