读《大型网站系统与Java中间件实践》(曹宪杰)的学习笔记。
从简单到复杂,最简单的是单机负载,即应用和数据库位于同一机器
1、数据库与应用分离
2、应用服务器从一台变成多台
添加负载均衡
解决session问题
2.1 同session请求同一个服务器 (✔️)
2.2 session数据同步到每台服务器
2.3 集中存储(✔️)
2.4 通过Cookie传递session数据
3、数据库层面:读写分离
主库:写 && 事务的读
从库:读(考虑到主从延迟,不同业务下也可能读主库)
(1) 全量 / 增量 (2) 实时 / 非实时
4、缓存:数据缓存、页面缓存
5、分布式存储系统 (根据格式程度从小到大排序,越小越灵活)
(1) 分布式文件系统(2) 分布式Key-Value系统 (3) 分布式数据库
6、当主库压力持续增大时
6.1 垂直分库:专库专用,即配多个数据源,各种join要改
6.2 水平分表:注意是把一个表拆分到不同的数据库中
7、拆分应用:将一个系统按功能拆分成多个小系统
8、服务化:创建服务中心(额。。),提供不同类型的基础服务
9、中间件?
大型网站系统学习笔记(一)——单机到集群
最新推荐文章于 2024-09-20 17:14:37 发布