软件架构演进(单体结构、垂直架构、SOA架构到微服务架构的过程)

软件架构演进(单体结构、垂直架构、SOA架构到微服务架构的过程)1 1 软件架构演进软件架构的发展经历了从单体结构 垂直架构 SOA 架构到微服务架构的过程 1 1 1 单体架构单体架构特点 1 所有的功能集成在一个项目工程中 2 所有的功能打一个 war 包部署到服务器 3 应用与数据库分开部署 4 通过部

大家好,欢迎来到IT知识分享网。

软件架构演进(单体结构、垂直架构、SOA架构到微服务架构的过程)

1.1 软件架构演进

软件架构的发展经历了从单体结构、垂直架构、SOA架构到微服务架构的过程。

1.1.1 单体架构

软件架构演进(单体结构、垂直架构、SOA架构到微服务架构的过程)

单体架构

特点:

1、所有的功能集成在一个项目工程中。

2、所有的功能打一个war包部署到服务器。

3、应用与数据库分开部署。

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

优点:

1、项目架构简单,前期开发成本低,周期短,小型项目的首选。

缺点:

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

2、系统性能扩展只能通过扩展集群结点,成本高、有瓶颈。

3、技术栈受限。

1.1.2 垂直架构

软件架构演进(单体结构、垂直架构、SOA架构到微服务架构的过程)

垂直架构

特点:

1、以单体结构规模的项目为单位进行垂直划分项目即将一个大项目拆分成一个一个单体结构项目。

2、项目与项目之间的存在数据冗余,耦合性较大,比如上图中三个项目都存在客户信息。

3、项目之间的接口多为数据同步功能,如:数据库之间的数据库,通过网络接口进行数据库同步。

优点:

1、项目架构简单,前期开发成本低,周期短,小型项目的首选。

2、通过垂直拆分,原来的单体项目不至于无限扩大。

3、不同的项目可采用不同的技术。

缺点:

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

2、系统性能扩展只能通过扩展集群结点,成本高、有瓶颈。

1.1.3 SOA架构

软件架构演进(单体结构、垂直架构、SOA架构到微服务架构的过程)

SOA架构

特点:

1、基于SOA的架构思想将重复公用的功能抽取为组件,以服务的方式给各各系统提供服务。

2、各各项目(系统)与服务之间采用webservice、rpc等方式进行通信。

3、ESB企业服务总线作为项目与服务之间通信的桥梁。

优点:

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

2、可以针对不同服务的特点制定集群及优化方案。

3、采用ESB减少系统中的接口耦合。

缺点:

1、系统与服务的界限模糊,不利于开发及维护。

2、虽然使用了ESB,但是服务的接口协议不固定,种类繁多,不利于系统维护。

3、抽取的服务的粒度过大,系统与服务之间耦合性高。

1.1.4 微服务架构

软件架构演进(单体结构、垂直架构、SOA架构到微服务架构的过程)

微服务架构

特点:

1、将系统服务层完全独立出来,并将服务层抽取为一个一个的微服务。

2、微服务遵循单一原则。

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

优点:

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

2、可以更加精准的制定每个服务的优化方案,提高系统可维护性。

3、微服务架构采用去中心化思想,服务之间采用RESTful等轻量协议通信,相比ESB更轻量。

4、适用于互联网时代,产品迭代周期更短。

缺点:

1、微服务过多,服务治理成本高,不利于系统维护。

2、分布式系统开发的技术成本高(容错、分布式事务等),对团队挑战大。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/92359.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信