基础
三高:高性能、高可用、高可扩展
(1)高性能
方案:
- 提升单机性能
- 多机、集群
- 缓存
- 异步
- 资源池化
指标: 响应平均值,最大值,分位值,吞吐量
例子:
1. 数据库
数据库扩展
- 读写分离(减少读操作的压力)
- 分库分表 Sharding
- redo log(MySQL 里经常说到的 WAL 技术,WAL 的全称是 Write-Ahead Logging,它的关键点就是先写日志,再写磁盘,也就是先写粉板,等不忙的时候再写账本。)
2. 缓存
缓存是通过牺牲强一致性来提高性能的
- 数据冗余,即主从复制(客户端方案)
- 分片(一致性hash解决增减节点问题,客户端方案)
- redis哨兵(服务端方案)
- 防止缓存穿透
设置空值
布隆过滤器
获得分布式锁的线程才能穿透