和多个微服务器通信协议,理解微服务--软件结构演进

一、单体架构

7e357ef787e9

特点:

1.所有功能集成在一个工程中

2.部署方式:所有功能打成一个war包部署到服务器

3.应用和数据库分开部署

4.通过部署应用集群和数据库集群来提高系统性能

优点:

1.架构简单,前期开发简单、成本低, 项目周期短,适合小型项目

缺点:

1.全部功能集中在一个工程,对于大型项目不利于开发、扩展、维护

2.想要提升性能只能通过增加服务器,成本太高

3.技术栈受限(一般一个项目只能使用一种语言)

二、垂直架构

7e357ef787e9

特点:

1.将一个大项目拆分成多个小的单体项目

2.项目之间存在一些功能的重复,比如上图中都有用户管理

3.项目之间的接口一般为数据同步(数据库之间同步,或应用通过网络接口同步)

优点:

1.项目架构简单,

2.通过垂直拆分,原来的单体项目不会无限扩大

3.不同项目可以采用不同的技术

缺点:同单体架构

三、SOA架构

7e357ef787e9

特点:

1.将重复的功能抽取成组件,以服务的方式给各个系统提供服务

2.各个系统与服务之间通过webservice、rpc等方式通信

3.ESB企业服务总线作为系统和服务之间的桥梁

优点:

1.将重复的功能抽取为服务,提高开发效率,提高系统的客重用性、可维护性

2.针对不同服务的特性指定不同的优化方案,即压力较大的服务可以多部署服务器

缺点:

1.系统和服务的界限模糊,不利于开发和维护

2.服务的接口协议不固定,种类繁多,不利于系统维护

3.抽取的服务的粒度太大,系统和服务之间耦合度高

四、微服务架构

7e357ef787e9

特点:

1.将系统服务曾完全独立,并将服务曾抽取成微服务

2.微服务遵循单一原则

3.微服务之间采用RESTful等轻量协议传输

优点:

1.服务拆分粒度更细,有利于资源重复利用,提高开发效率

2.微服务架构去中心化,服务见采用RESTful等轻量协议通信

3.迭代周期更短

缺点:

1.微服务过多,服务治理成本高,不利于维护

2.分布式开发技术成本高(分布式事务等)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值