导图社区 大型网站系统架构演化阶段
这是一篇关于网站架构演化的思维导图,主要内容包括:1.单体架构,2.垂直架构,3.用缓存改善数据访问性能,4.用服务集群改善并发处理能力,5.数据库读写分离,6.用CDN、反向代理加速响应,7.用分布式文件系统、分布式数据库系统,8.用 NoSQL、搜索引擎,9.业务拆分,10.分布式服务。
编辑于2025-04-22 22:11:41这是一篇关于网站架构演化的思维导图,主要内容包括:1.单体架构,2.垂直架构,3.用缓存改善数据访问性能,4.用服务集群改善并发处理能力,5.数据库读写分离,6.用CDN、反向代理加速响应,7.用分布式文件系统、分布式数据库系统,8.用 NoSQL、搜索引擎,9.业务拆分,10.分布式服务。
简要列举了5种软件架构体系风格、包括组成、图示、示例代码。为软件系统的开发提供清晰、可预测和可维护的框架。
介绍归纳 C Sharp 语音的基础重点知识。包括语言基础、字面常量、程序集、不安全代码、基础类、枚举、数组、泛型、字符串、正则表达式、委托与事件、文件、异常、多线程、异步、反射、网络、绘图、WinForm、Windows、跨平台调用等内容。思维导图示例中,有示例代码,方便学习与练习。
社区模板帮助中心,点此进入>>
这是一篇关于网站架构演化的思维导图,主要内容包括:1.单体架构,2.垂直架构,3.用缓存改善数据访问性能,4.用服务集群改善并发处理能力,5.数据库读写分离,6.用CDN、反向代理加速响应,7.用分布式文件系统、分布式数据库系统,8.用 NoSQL、搜索引擎,9.业务拆分,10.分布式服务。
简要列举了5种软件架构体系风格、包括组成、图示、示例代码。为软件系统的开发提供清晰、可预测和可维护的框架。
介绍归纳 C Sharp 语音的基础重点知识。包括语言基础、字面常量、程序集、不安全代码、基础类、枚举、数组、泛型、字符串、正则表达式、委托与事件、文件、异常、多线程、异步、反射、网络、绘图、WinForm、Windows、跨平台调用等内容。思维导图示例中,有示例代码,方便学习与练习。
网站架构演化
1.单体架构
场景
小型网站,访问量少
特征
应用程序、数据库、文件等所有资源,都在 1 台服务器
图示
2.垂直架构
场景
访问量增多
特征
应用和数据分离
3 台服务器
应用服务器
处理器性能
数据库服务器
高速磁盘、大内存
文件服务器
大容量硬盘
图示
3.用缓存改善数据访问性能
场景
二八定律
80% 的业务访问集中在 20% 的数据上
特征
减少数据库访问压力,将热点数据缓存在内存
缓存分类
应用服务器上的本地缓存
访问速度快,但数据容量有限,且争用应用资源
专用分布式缓存服务器上的远程缓存
集群方式,大内存,数据容量大
图示
4.用服务集群改善并发处理能力
场景
高并发、海量数据
特征
增加服务器,分担访问、存储压力
应用服务器集群
系统可伸缩
负载均衡调度服务器,分发请求到集群中任一台服务器
图示
5.数据库读写分离
场景
部分读操作(缓存未命中、缓存过期)、全部写操作 需要访问数据库
用户规模上升后,数据库负载压力过高
特征
利用数据库的主从热备功能
写数据时,访问主数据库。通过主从复制机制,主数据库更新同步到从数据库
读数据时,访问从数据库
应用服务器端,使用专用的数据访问模块,使数据库读写分离对应用透明
图示
6.用CDN、反向代理加速响应
场景
区域差别,网络环境复杂。用户访问网站速度差异大
特征
CDN
部署在网络提供商的机房
从距离用户最近的机房返回数据
反向代理
部署在网站的中心机房
若缓存中存在用户请求的数据,则直接返回
可以加快用户访问速度,也能减轻后端服务器的负载压力
图示
7.用分布式文件系统、分布式数据库系统
业务需求持续增长,读写分离 2 台数据库也无法满足
特征
数据库拆分
业务分库(垂直分库)(常用)
不同业务数据,部署在不同的物理服务器上
分布式数据库(水平分库)
数据集水平分割成较小部分,存储在不同节点
在单表数据规模非常庞大时使用
分布式文件系统
图示
8.用 NoSQL、搜索引擎
场景
业务越来越复杂,对数据存储和检索的需求也越来越复杂
特征
使用
非关系数据库,如 NoSQL
非数据库查询技术,如 搜索引擎
应用服务器端,使用统一的数据访问模块,访问各种数据
图示
9.业务拆分
场景
业务场景越来越复杂
特征
分而治之
整个网站业务分成不同的产品线
一个网站拆成多个不同应用
每个应用独立部署
应用之间
可通过 超链接 建立关系
可通过 消息队列 分发数据
可通过 访问同一个数据存储系统 构成关联的完整系统
图示
10.分布式服务
场景
业务拆分越来越小,存储系统越来越大,部署越来越困难
由于所有应用,要和所有数据库系统连接,导致数据库连接资源不足
特征
将共用的业务提取出来,独立部署
这些可复用的业务连接数据库,提供共用业务服务
应用系统,通过分布式服务,调用共用业务服务,完成具体业务
图示