读写分离

主从切换一致性

分片

分库分表 数据倾斜 冷热分离

缓存

操作系统

  • L1缓存:容量最小、速度最快,每个物理核上独享
  • L2缓存:容量、速度次之,每个物理核上独享
  • L3缓存:容量最大、速度最慢,多物理核共享

CDN网络

  • TTL过期策略
  • 源站调用CDN API强制刷新
  • 客户端获取携带版本号或hash值参数,可强制回源
  • 回源校验:304继续使用,200更新

服务端Redis缓存

  • 缓存查询结果:减轻数据库压力
  • 缓存预热:系统启动时加载热点数据
  • 缓存穿透防护:布隆过滤器或空值缓存
  • 缓存雪崩防护:随机过期时间/多级缓存 (缓存集群化部署应对单点故障问题)
  • 缓存击穿:(单一热点缓存过期造成的大量DB请求)分布式锁/热点数据无过期,异步更新

bloom_filter.png n:预期要存储的元素数量
m:位数组长度(比特数)
k:哈希函数数量

最优哈希函数数量 $k$ 的计算公式为: $$ k = \frac{m}{n} \ln 2 \quad (\approx 0.693 \cdot \frac{m}{n}) $$

缓存一致性

最终一致性解决方案:双删+消息队列
适用场景:双删+MQ 是一个平衡的方案,既比纯双删更可靠,又比分布式锁更高效,适合大多数互联网业务场景。

mermaid

强一致性解决方案:分布式锁防止并发写问题
性能影响:高
复杂度:高
适用场景:金融级一致性场景

mermaid

Copy-On-Write

docker layer
kafka zero-copy
Redis bgsave RDB fork