参考自《大型网站技术架构》第1~3章
1、大型网站架构演化发展历程
(1)初始阶段的网站架构:一台服务器分别作为应用、数据、文件服务器
(2)应用服务和数据服务分离:三台服务器分别承担上述三项工作,其中应用服务器要求CPU强大、数据库服务器需求更快的硬盘和内存,文件服务器需要较大的硬盘。
(3)使用缓存改善网站性能:分为本地缓存以及缓存在专门的分布式服务器上的远程缓存。
(4)使用应用服务器集群改善网站的并发处理能力。
(5)数据库读写分离。
(6)使用反向代理和CDN加速网站响应。二者的基本原理都是缓存,区别在于CDN部署运营商的机房,而反向代理则部署在网站的中心机房,作为服务器群的最前端。
(7)使用分布式文件的系统和分布式数据库。分布式数据库是网站拆分的最后手段,只有在单表数据规模非常庞大的时候才使用。不到不得已时,网站更为常用的数据库拆分手段是业务分库,将不同业务的数据部署在不同的物理服务器上。
(8)使用NoSQL和搜索引擎。二者对可伸缩的分布式特性具有更好的支持。
(9)业务拆分:将不同的业务拆分为不同的产品线,分归不同的业务团队负责。
(10)分布式服务。
2、大型网站的架构模式
(1)分层
(2)分割
(3)分布式
(4)集群
(5)缓存
(6)异步
(7)冗余
(8)自动化
(9)安全
3、大型网站核心架构要素
(1)性能
(2)可用性
(3)伸缩性
(4)扩展性
(5)安全性