一、大型网站架构演化
1)高并发、大流量
2)高可用
3)海量数据
4)用户分布广泛,网络情况复杂
5)安全环境恶劣
6)需求快速变更,发布频繁
7)渐进式发展
2、大型网站架构演化发展历程
1)初始阶段的网站架构
一台应用服务器:应用程序 + 数据库 + 文件
2)应用程序和数据库服务分离
应用服务器(应用程序) + 数据库服务器(数据库) + 文件服务器(文件)
3)使用缓存改变网站性能
应用服务器本地缓存 + 分布式缓存服务器(远程分布式缓存)
4)使用应用服务器集群改善网站的并发处理能力
多个应用服务器组成一个集群
5)数据库读写分离
主数据库通过主从复制机制将数据更新同步到从数据库
6)使用反向代理和CDN加速网站响应
CDN服务器(内容分发网络:部署在网络提供商的机房)——> 反向代理服务器 ——> 负载均衡调度服务器 ——> 应用服务器
7)使用分布式文件系统和分布式数据库系统
8)使用NoSQL服务器和搜索引擎服务器
9)业务分拆
10)分布式服务
二、大型网站架构模式
1)分层
(应用层 + 服务层 + 数据层),每一处可以继续细分
2)分割
将不同的功能和服务分割开来,包装成高内聚低耦合的模块单元
3)分布式
分布式应用和服务、分布式静态资源、分布式数据和存储、分布式计算【Hadoop】
4)集群
5)缓存
CDN(内容分发网络)、反向代理、本地缓存、分布式缓存
6)异步
提高系统可用性
加快网站响应速度
消除并发访问高峰
7)冗余
8)自动化
9)安全
三、大型网站核心架构要素
1)高性能
2)可用性
3)伸缩性
4)扩展性
5)安全性