跳转至

Redis 集群如何抗住双十一洪峰流量

一、双十一流量特点

  • 瞬时 QPS 是平时的几十上百倍。
  • 热点集中(少数商品、少数用户)。
  • 不能挂,挂了损失巨大。

二、多级缓存

浏览器/CDN → Nginx → 应用本地缓存 → Redis 集群 → DB

本地缓存

热点数据放应用内存(Caffeine),不走 Redis。减少 Redis QPS。

CDN

静态资源(商品图、静态页)放 CDN,不打到后端。

三、Redis 集群架构

1. 主从 + 哨兵

读多写少:一主多从,读分散到从节点。

2. Redis Cluster

数据分片到多个主节点,每个主节点一个从节点。QPS 和容量水平扩展。

16384 个 slot 分到 N 个主节点

四、热点 Key 处理

1. 本地缓存热点

Top 1% 热点 Key 放本地缓存。

2. Key 拆分

把一个热点 Key 拆成 N 个:

hotkey:0, hotkey:1, ..., hotkey:9

读时随机选一个,分摊压力。

3. 只读节点

从节点分担读流量。

五、限流降级

  • Nginx 限流:超过阈值直接返回排队页。
  • 应用层限流:Sentinel,非核心服务降级。
  • 兜底:返回默认值。

六、预热

大促前: - 热点商品提前加载到 Redis。 - 本地缓存预热。 - 压测验证。

七、异步化

  • 下单、扣库存异步化(MQ)。
  • 前端削峰:排队、令牌桶。

八、监控

  • Redis 命中率。
  • 慢查询。
  • 热点 Key 识别。
  • 内存、CPU、网络。

九、总结

CDN + 本地缓存 + Redis Cluster + 分片 + 限流 + 预热 + 异步

不是单点技术,是组合拳。

面试加分

抗洪峰核心是"不让所有请求都打到 Redis"。能在前端挡就在前端挡,能在本地挡就在本地挡。