垂直架构的基本介绍和使用场景

垂直架构的基本介绍和使用场景

一、基本介绍

要了解垂直架构就要先了解单体架构,垂直架构可以看做是多个单体架构的组合体,单体架构可以看我这个专栏的单体架构基本介绍和使用场景。

垂直架构通常是因为单体架构过于庞大而进行的拆分,‌拆分后各个系统应满足独立运行且互相不影响。‌这种架构可以看作是多个单体架构的组合,‌旨在拆分系统的流量,‌针对高峰功能进行拓展,‌优化了单体架构过于庞大时出现的难以维护的问题。‌

原本作为单体架构开发出来的应用程序,现在由于业务拓展,功能变多,单体架构代码库变得太大,不易于维护和开发,而且故障率还高,因此诞生了垂直架构,比如原来一个管理系统是一个单体架构,是一个完整的应用程序,但现在把用户管理模块,权限管理模块和库存管理模块都拆分成三个单体架构,拆分成三个不相干的应用程序单独运行。这就出现了一个情况,一个应用程序可以分为多个模块,每个模块可以交由一个团队去开发,独立开发独立运行。

二、与单体架构相比的优点

1.模块独立性:各个垂直应用模块之间不再互相依赖,一个模块的变化不会影响其他模块。一个应用程序可以分为多个模块,每个模块可以交由一个团队去开发,独立开发独立运行。

2.灵活性高:可以独立部署和扩展各个垂直应用模块,增强了系统的灵活性,比如现在多开发一个模块,另外起一个单体架构就可以,没有依赖耦合。

3.提升开发效率:不同团队可以并行开发和维护不同的垂直应用模块。

4.流量分担:由于多了几个单体模块,将原来涌入一个单体模块的流量分担为了几份。

5.可用性高:原来单体架构一个点坏了,就整个都坏了,垂直架构要比单体架构稳定。

三、缺点

1.重复工作:相同的功能可能在多个垂直应用模块中重复实现,增加了开发和维护成本。比如每个模块都需要用到相同的功能的话,那么这个功能在每个模块都得写一遍,因为他们之间相互独立,功能无法共享。

2.资源利用率低:由于各个垂直应用模块独立运行,可能导致资源浪费。

3.系统复杂性增加:需要管理多个独立的模块,增加了系统的复杂性。

四、适用场景

垂直应用架构适用于以下场景:

1.业务功能明确且相对独立的系统。
2.需要快速迭代和交付的项目。
3.多团队协作的大型项目。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值