浅谈和学习项目系统架构的演变

系统架构演变

单体应用架构

一个完整的项目中包含所有的模块。

 

                                            

  • 优点: 开发简单,适用于小型应用
  • 缺点: 不以拓展,维护,代码耦合度高。

垂直应用架构

一个项目可以拆分成若干个子项目

 

                         

  • 优点: 解决高并发问题

    针对不同模块进行优化

    方便水平扩展,容错

  • 缺点:系统之间相互独立,所以有很多重复开发工作。

分布式架构

把垂直应用进行业务上的抽取,成为两部分内容,基础服务和业务功能,由业务功能去调用基础服务

 

                        

引入概念 SOA

全称为Service-Oriented Architecture, 即面向服务的架构,它可以更具需求通过网络对松散耦合的粗粒度应用组件服务进行分布式部署,组合和使用,一个服务通常以独立的形式存在于操作系统进程中。

站在功能的角度,把业务逻辑抽象成为可复用,可组装的服务,通过服务的编排实现业务的快速再生,目的:把原先固有的业务功能转变为通用的业务服务,实现业务逻辑的快速复用。

下图为示例:

                          

 

  • 缺点: 抽取服务的粒度较大

    服务提供方与到用方接口耦合度较高

  • 优点: 抽取公共的功能为服务,提高开发效率

    对不同的服务进行集群化部署解决系统压力

    基于ESB/DUBBO减少系统耦合

微服务架构

解决SOA中存在的问题,尽可能的拆分服务,和SOA架构类似,重点是业务需要彻底的组件化和服务化,原有的单个业务系统会拆分为多个可以独立开发,设计运行的小应用。小应用之间通过服务完成交互和集成。

 

                        

  • 优点: 通过服务的原子化拆分,以及微服务的独立打包,部署和升级,小团队的交付周期缩短,运维成本也大幅下降。

微服务遵循单一原则,微服务之间采用Resful等轻量协议传输

  • 缺点: 微服务过多,服务治理成本高,不利于系统维护。

    分布式系统开发等技术成本高 (容错,分布式事务等)

SOA与微服务的关系

 

                     

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值