目录

1.单机架构

2.应用数据分离架构

3.读写分离架构

4.冷热分离架构

5.垂直分库架构

6.微服务架构

7.容器编排架构


1.单机架构

单机架构是简单的将应用服务和数据库服务部署到同一台机器上。

缺点:存在很大的性能限制。


2.应用数据分离架构

引入负载均衡,将应用负载均衡式的部署到不同的服务器上。

比起单机,多了一个负载均衡模块来平衡地分配任务给不同的主机。

缺点:硬件成本上升

数据库性能存在瓶颈


3.读写分离架构

引入数据库主从模式,将写的数据库作为主数据库(只能有一个,防止脏数据),将读的数据库作为从数据库。

缺点:由于数据库数据需要同步(从库复制主库),同步存在很大的性能限制。


4.冷热分离架构

在访问数据库之前加入一个缓存库(redis),存储经常被访问的数据(热点数据),访问冷门数据时再访问数据库,从而减少数据库负载。

缺点:缓存存在击穿问题


5.垂直分库架构

一个主从数据库集群 ==> 多个负责不同功能的主从数据库集群。

缺点:代码强耦合


6.微服务架构

将应用服务拆为多个微服务,同时实现微服务复用。

也可以解决系统升级必须重构的问题和单个项目代码强耦合的问题。

缺点:运维压力很大


7.容器编排架构

借助docker等容器化技术,将应用服务打包成镜像,通过编排工具如k8s来动态分布和部署镜像。

实现快速部署,减少运维压力,并且解决配置冲突问题。

总结:本质上架构负载的提升只有两个方向:垂直方向和水平方向。

垂直方向:

通过加上层或者下层来将请求分流。

水平方向:

增加兄弟来为自己减少压力,团结力量大。