本文仅供自己学习使用,本文参考自李智慧老师著的《大型网站技术架构:核心原理与案例分析》。
一、大型网站架构演化
1、大型网站软件系统的特点
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)安全性
一、大型网站架构演化
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)安全性