Skip to content

Commit

Permalink
impr: 常规更新
Browse files Browse the repository at this point in the history
  • Loading branch information
王艺 committed Sep 23, 2024
1 parent 4f48973 commit e3dbb66
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 1 deletion.
2 changes: 1 addition & 1 deletion docs/ruankao/hierarchical.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@
![MVC 三者协作关系图](image-4.png)

1. MVP 模式
2. MVVM 模式
2. MVVM 模式
45 changes: 45 additions & 0 deletions docs/ruankao/sa-evolution.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# 软件架构演化和维护(了解)

## 软件架构演化评估方法

1. 演化过程已知的评估
2. 演化过程未知的评估

## 大型网站系统架构演化实例

* 第一阶段:单体架构

应用程序、数据库、文件等所有资源都在一台服务器上。
* 第二阶段:垂直架构

将应用和数据分离,整个网站使用 3 台服务器:应用服务器、文件服务器、数据服务器。
* 第三阶段:使用缓存改善网站性能

包括在应用服务器上的本地缓存和在专门的分布式缓存服务器上的远程缓存。
* 第四阶段:使用服务集群改善网站并发处理能力

通过负载均衡调度服务器,将来自用户浏览器的访问请求分发到应用服务器集群中的任何一台服务器上,解决高并发、海量数据问题。
* 第五阶段:数据库读写分离。

应用服务器在写数据时,访问主数据库,主服务器通过主从复制机制将数据更新同步到从服务器。在应用服务器读数据时,访问从数据库。
* 第六阶段:使用反向代理和 CDN 加速网站响应。CDN 和反向代理的基本原理都是缓存。

1. CDN 部署在网络提供商的机房,用户在请求网站服务时,可在距离最近的网络提供商机房获取数据。
2. 反向代理部署在网站的中心机房,用户请求到达中心机房后,先访问反向代理服务器。
* 第七阶段:使用分布式文件系统和分布式数据库系统。

进行业务分库,将不同业务的数据部署在不同的物理服务器上。
* 第八阶段:使用 NoSQL 和搜索引擎。
* 第九阶段:业务拆分。

将一个网站拆分成许多不同的应用,每个应用独立部署。
* 第十阶段:分布式服务。

## 软件架构维护

软件架构维护过程包括 **软件架构知识管理****软件架构修改管理****软件架构版本管理** 等。

### 软件架构知识管理
### 软件架构修改管理
### 软件架构版本管理
### 软件架构可维护性度量实践
Binary file removed overrides/.icons/avatar.jpg
Binary file not shown.
Binary file removed overrides/.icons/favicon.ico
Binary file not shown.
Binary file removed overrides/.icons/logo.jpg
Binary file not shown.

0 comments on commit e3dbb66

Please sign in to comment.