大型网站架构演化—《大型网站技术架构:核心原理与案例分析》
1、大型网站架构演化
一、大型网站软件系统的特点
特点: 1)高并发,大流量;
2)高可用;
3)海量数据;
4)用户分布广泛,网络情况复杂;
5)安全环境恶劣;
6)需求快速变更,发布频繁;
7)渐进式发展。
二、大型网站架构演化发展历程
1、初始阶段
Linux、PHP、Apache、MySQL
2、应用服务和数据服务分离
应用服务器、文件服务器、数据库服务器
3、使用缓存改善网站性能
缓存分为:1)缓存在应用服务器上的本地缓存;(受内存限制)
2)缓存在专门的分布式缓存服务器上的远程缓存。(集群)
4、使用应用服务器集群改善网站的并发处理能力
可伸缩集群架构;负载均衡服务器;
5、数据库读写分离
数据库主从热备;
6、使用反向代理和CDN加速网站响应
基本原理:缓存
区别: CDN —— 部署在网络提供商机房;
反向代理 —— 部署在网站中心机房;
7、使用分布式文件系统和分布式数据库
分布式文件系统;分布式数据库(单表数据规模庞大);数据库拆分(业务分库)
8、使用NoSQL 和搜索引擎
通过统一数据访问模块访问各种数据
9、业务拆分
分而治之;不同的产品线;多应用,独立维护;超链接联系,消息队列,同一数据存储系统;
10、分布式服务
业务提取,独立部署,调用业务服务;
三、大型网站架构演化的价值观
1、核心价值:随网站所需灵活应付
2、驱动力量:网站的业务发展
四、网站架构设计误区
1、一味追求大公司的解决方案
2、为了技术而技术
3、企图用技术解决所有的问题