基础
三高:高性能、高可用、高可扩展
(1)高性能
方案:
- 提升单机性能
- 多机、集群
- 缓存
- 异步
- 资源池化
指标: 响应平均值,最大值,分位值,吞吐量

例子:
1. 数据库
数据库扩展
- 读写分离(减少读操作的压力)
- 分库分表 Sharding
- redo log(MySQL 里经常说到的 WAL 技术,WAL 的全称是 Write-Ahead Logging,它的关键点就是先写日志,再写磁盘,也就是先写粉板,等不忙的时候再写账本。)
2. 缓存
缓存是通过牺牲强一致性来提高性能的
- 数据冗余,即主从复制(客户端方案)
- 分片(一致性hash解决增减节点问题,客户端方案)
- redis哨兵(服务端方案)
- 防止缓存穿透
设置空值
布隆过滤器
获得分布式锁的线程才能穿透
边缘计算
cdn属于一种
3. 消息队列
异步处理

本文探讨了如何实现Java应用的高性能、高可用和高可扩展性。主要涉及数据库优化,如读写分离、分库分表;缓存策略,如使用Redis进行数据冗余和分片;以及消息队列在异步处理中的作用。还提到了高可用方案,如故障转移和冗余,以及微服务架构、负载均衡和运维实践。
最低0.47元/天 解锁文章
1380

被折叠的 条评论
为什么被折叠?



