深入浅出 -- 系统架构之垂直架构

当业务复杂度增加、访问量逐渐增大出现高并发时,单体架构无法满足需求,可以根据业务功能对系统进行拆分,以提高访问效率。

垂直架构介绍

1.垂直架构一般是因为单体架构太过于庞大而进行的拆分,拆分后各个系统应满足独立运行互相不影响

2.也有可能时某个平台招标由不同厂商负责不同子系统的开发

3.垂直架构可以看成是多个单体架构的组合

2.2 优点:

对比单个单体架构系统,它拆分了系统的流量,可以针对高峰共功能进行拓展

优化了单体架构过于庞大时出现的难以维护的问题。

2.3 缺点:

1.在各个系统间单体架构存在的问题仍然存在并且有新的问题产生

2.会有功能的重叠,重复造轮子

3.拆分后存在隔离与治理能力上的欠缺,并且会给技术异构带来麻烦。

4.拆分后可能带来数据冗余,但是又需要进行同步,要么使用数据库层面的同步,要么使用系统间

的接口进行同步处理。

5.系统之间的交互,由于缺少隔离与治理能力,一般都是硬编码的点对点交互。

参考相对于单体架构如下:

将一个大型应用拆分成多个相互独立的小型应用成为解决单体应用的一种方案,这就是垂直架构(也成为"竖井式架构")。垂直架构根据业务属性将一个大的单体应用拆分成多个模块或子系统,子系统之间没有直接关联。

垂直架构相较于单体架构而言,进行了部分解耦,但是不够彻底,在各个子系统相互依赖的代码和模块中,存在重复代码拷贝和模块功能重复开发的情况。

垂直架构按功能进行 MVC 划分和按职能进行前后端分离模式,通过分层来规范职责和定义边界。

相关推荐
白宇横流学长4 分钟前
基于J2EE架构的在线考试系统设计与实现【源码+文档】
java·架构·java-ee
洛神灬殇2 小时前
【LLM大模型技术专题】「入门到精通系列教程」基于ai-openai-spring-boot-starter集成开发实战指南
网络·数据库·微服务·云原生·架构
Nejosi_念旧2 小时前
Vite 双引擎架构 —— Esbuild 概念篇
架构·前端框架
小鸡脚来咯2 小时前
redis分片集群架构
数据库·redis·架构
HyggeBest3 小时前
Mysql 宏观架构
mysql·架构
DemonAvenger3 小时前
Go GOGC环境变量调优与实战案例
性能优化·架构·go
大咖分享课3 小时前
容器安全最佳实践:云原生环境下的零信任架构实施
安全·云原生·架构
AllWe$3 小时前
互联网三高架构 一
架构
国家不保护废物5 小时前
🌟 React 魔法学院入学指南:从零构建你的第一个魔法阵(项目)!
前端·react.js·架构
DemonAvenger6 小时前
Go sync.Pool 最佳实践:复用对象降低 GC 压力的技术文章
性能优化·架构·go