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

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

垂直架构介绍

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

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

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

2.2 优点:

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

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

2.3 缺点:

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

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

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

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

的接口进行同步处理。

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

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

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

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

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

相关推荐
●VON2 分钟前
React Native for OpenHarmony:项目目录结构与跨平台构建流程详解
javascript·学习·react native·react.js·架构·跨平台·von
Gary董3 分钟前
高并发的微服务架构如何设计
微服务·云原生·架构
ujainu18 分钟前
Flutter + OpenHarmony 实战:《圆环跳跃》——完整游戏架构与视觉优化
flutter·游戏·架构·openharmony
爬山算法1 小时前
Hibernate(74)如何在CQRS架构中使用Hibernate?
java·架构·hibernate
香芋Yu2 小时前
【大模型教程——第二部分:Transformer架构揭秘】第2章:模型家族谱系:从编码器到解码器 (Model Architectures)
深度学习·架构·transformer
从此不归路3 小时前
Qt5 进阶【13】桌面 Qt 项目架构设计:从 MVC/MVVM 到模块划分
开发语言·c++·qt·架构·mvc
java干货3 小时前
微服务:把一个简单的问题,拆成 100 个网络问题
网络·微服务·架构
C澒4 小时前
前端技术核心领域与实践方向
前端·系统架构
橙露5 小时前
Vue3+Pinia实战:从零搭建企业级后台管理系统的核心架构
架构
小毅&Nora6 小时前
【人工智能】【大模型】从厨房到实验室:解密LLaMA架构如何重塑大模型世界
人工智能·架构·llama