一、软件架构演化和定义的关系
1-1 演化的重要性
----- 待补充
六、大型网站系统架构演化实例
6-1 第一阶段:单体架构
6-2 第二阶段:垂直架构
- 应用服务器需要处理大量的业务逻辑,因此需要更快更强大的处理器速度。
- 数据库服务器需要快速磁盘检索和数据缓存,因此需要更快的磁盘和更大的内存。
- 文件服务器需要存储大量用户上传的文件,因此需要更大容量的硬盘。
6-3 第三阶段:使用缓存改善网站性能
- 本地缓存的访问速度更快一些,但是受应用服务器内存限制,其缓存数据量有限,而且会出现和应用程序争用内存的情况。
- 远程分布式缓存可以使用集群的方式,部署大内存的服务器作为专门的缓存服务器,可以在理论上做到不受内存容量限制的缓存服务。
6-4 第四阶段:使用服务集群改善网站并发处理能力
6-5 第五阶段:数据库读写分离
1.主从复制
(1)优点:
① 避免数据库单点故障
② 提高查询效率
6-6 第六阶段:使用反向代理和CDN 加速网站响应
基本原理:缓存
目的:尽早返回数据给用户,一方面加快用户访问速度,另一方面也减轻后端服务器的负载压力。
1.CDN:部署在网络提供商的机房,使用户在请求网站服务时,可以从距离自己最近的网络提供商机房获取数据
2.反向代理:部署在网站的中心机房,当用户请求到达中心机房后,首先访问的服务器是反向代理服务器,如果反向代理服务器中缓存着用户请求的资源,就将其直接返回给用户。