单体框架、垂直框架、分布式框架、微服务框架简述 和区别

本文介绍了从单体架构到微服务架构的演进过程,包括单体架构的简单易维护但不易扩展,垂直架构的流量分担,分布式架构的代码复用以及微服务架构的独立部署和高容错率。每种架构都有其适用场景和挑战,微服务强调服务原子化,提高了扩展性和灵活性,但也带来了更高的技术复杂性。

SSM以及SSH都为单体架构 前后端分离是 SpringBoot框架属于垂直应用架构

  • 单体架构

单体架构大致就是将所有的逻辑和业务写在同一个项目中 一般网站流量小 并且只需要一个应用 将所有代码部署在一起 可以减少开发、部署、运维的成本

    优点:项目架构简单、小型项目、开发成本低、维护方便

    缺点:全部的功能都集成在了同一个工程中 对于大型项目来讲不易于开发和维护 项目模块之间紧密的耦合 单点容错率低 无法针对不同模块进行针对性优化和水平扩展 并且如果单体框架出现OOM内存溢出 可能会导致项目整个应用无法正常使用 容错率低 

  • 垂直架构

垂直应用架构就是将单体架构拆分为多个互不相干的应用 大大提升了效率 比如将一个单体是电商应用拆分为:1、电商系统(用户管理、商品管理、订单管理)  2、后台系统(用户管理、订单管理、客户管理)  3、CMS系统(广告管理、营销管理) 这样拆分成多个后 一旦出现用户量变大 需要增加电商系统的节点就可以了 而无需增加后台和CMS的节点

    优点:系统拆分实现了流量分担 解决了并发问题 而且可以针对不同的模块进行相对的优化和水平扩展,一个系统的问题不会影响其他的系统 容错率大大提高

    缺点:系统之间相互独立 无法进行相互调用 系统之间相互独立 会有重复的开发任务

  • 分布式架构

垂直应用越来越多时 重复的代码量也会递增 所以出现了分布式架构 它将工程拆分为表现层和服务层两个部分 服务层中包含业务;逻辑 表层只需要处理和页面的交互 业务逻辑都是调用服务层的服务来实现

    优点:抽取公共的功能为服务层 提高代码的复用性

    缺点:系统间的耦合度变高 调用关系错综复杂 难以维护

  • 微服务框架

在微服务架构中每个服务都是单独部署 微服务架构也更加的轻便(轻量级) SOA框架中跨域数据库存储会发生共享 但是微服务强调每个服务都是单独的数据库 完全保证了每个服务之间不会相互的发生影响 由此可见微服务架构比SOA架构更加的适合开发、迭代版本 因为粒度很精细

    优点:服务原子化拆分 独立打包、部署和升级 保证每个微服务的服务请时刻见 利于扩展  微服务之间采用了RestFul等轻量级http协议相互调用

    缺点:分布式系统开发的技术成本高(容错、分布式事务等)  复杂性高 各个微服务进行分布式独立部署 当进行模块调用时 分布式也会更加的麻烦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GG-0408

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值