目录
1.单机架构
2.应用数据分离架构
3.读写分离架构
4.冷热分离架构
5.垂直分库架构
6.微服务架构
7.容器编排架构
1.单机架构
单机架构是简单的将应用服务和数据库服务部署到同一台机器上。
缺点:存在很大的性能限制。
2.应用数据分离架构
引入负载均衡,将应用负载均衡式的部署到不同的服务器上。
比起单机,多了一个负载均衡模块来平衡地分配任务给不同的主机。
缺点:硬件成本上升
数据库性能存在瓶颈
3.读写分离架构
引入数据库主从模式,将写的数据库作为主数据库(只能有一个,防止脏数据),将读的数据库作为从数据库。
缺点:由于数据库数据需要同步(从库复制主库),同步存在很大的性能限制。
4.冷热分离架构
在访问数据库之前加入一个缓存库(redis),存储经常被访问的数据(热点数据),访问冷门数据时再访问数据库,从而减少数据库负载。
缺点:缓存存在击穿问题
5.垂直分库架构
一个主从数据库集群 ==> 多个负责不同功能的主从数据库集群。
缺点:代码强耦合
6.微服务架构
将应用服务拆为多个微服务,同时实现微服务复用。
也可以解决系统升级必须重构的问题和单个项目代码强耦合的问题。
缺点:运维压力很大
7.容器编排架构
借助docker等容器化技术,将应用服务打包成镜像,通过编排工具如k8s来动态分布和部署镜像。
实现快速部署,减少运维压力,并且解决配置冲突问题。
总结:本质上架构负载的提升只有两个方向:垂直方向和水平方向。
垂直方向:
通过加上层或者下层来将请求分流。
水平方向:
增加兄弟来为自己减少压力,团结力量大。