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