读写分离
主从切换一致性
分片
分库分表 数据倾斜 冷热分离
缓存
操作系统
- L1缓存:容量最小、速度最快,每个物理核上独享
- L2缓存:容量、速度次之,每个物理核上独享
- L3缓存:容量最大、速度最慢,多物理核共享
CDN网络
- TTL过期策略
- 源站调用CDN API强制刷新
- 客户端获取携带版本号或hash值参数,可强制回源
- 回源校验:304继续使用,200更新
服务端Redis缓存
- 缓存查询结果:减轻数据库压力
- 缓存预热:系统启动时加载热点数据
- 缓存穿透防护:布隆过滤器或空值缓存
- 缓存雪崩防护:随机过期时间/多级缓存 (缓存集群化部署应对单点故障问题)
- 缓存击穿:(单一热点缓存过期造成的大量DB请求)分布式锁/热点数据无过期,异步更新
n:预期要存储的元素数量
m:位数组长度(比特数)
k:哈希函数数量
最优哈希函数数量 $k$ 的计算公式为: $$ k = \frac{m}{n} \ln 2 \quad (\approx 0.693 \cdot \frac{m}{n}) $$
缓存一致性
最终一致性解决方案:双删+消息队列
适用场景:双删+MQ 是一个平衡的方案,既比纯双删更可靠,又比分布式锁更高效,适合大多数互联网业务场景。
强一致性解决方案:分布式锁防止并发写问题
性能影响:高
复杂度:高
适用场景:金融级一致性场景
Copy-On-Write
docker layer
kafka zero-copy
Redis bgsave RDB fork