首页 » 软件开发 » 软件架构演进(单体结构、垂直架构、SOA架构到微服务架构的过程)(架构微服项目服务垂直)

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

南宫静远 2024-07-24 00:53:05 0

扫一扫用手机浏览

文章目录 [+]

1.1 软件架构演进

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

1.1.1 单体架构

软件架构演进(单体结构、垂直架构、SOA架构到微服务架构的过程)(架构微服项目服务垂直) 软件开发
(图片来自网络侵删)

单体架构

特点:

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

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

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

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

优点:

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

缺点:

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

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

3、技术栈受限。

1.1.2 垂直架构

垂直架构

特点:

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

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

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

优点:

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

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

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

缺点:

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

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

1.1.3 SOA架构

SOA架构

特点:

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

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

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

优点:

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

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

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

缺点:

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

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

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

1.1.4 微服务架构

微服务架构

特点:

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

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

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

优点:

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

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

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

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

缺点:

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

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

标签:

相关文章

易语言键值对,技术融合与创新的典范

在信息技术飞速发展的今天,编程语言作为技术的载体,正不断推动着各行各业的发展。易语言作为一款国产编程语言,凭借其简单易学、高效实用...

软件开发 2024-12-31 阅读0 评论0

IT客服术语介绍,高效沟通的艺术

在信息化时代,IT客服作为连接企业与用户的重要桥梁,其沟通技巧和术语运用至关重要。本文将深入解析IT客服术语,探讨如何通过合理布局...

软件开发 2024-12-31 阅读0 评论0

IT领域的个人特长,技术革新与未来展望

随着科技的飞速发展,信息技术(IT)领域正逐渐成为推动社会进步的重要力量。在这个充满机遇与挑战的领域,个人特长显得尤为重要。本文将...

软件开发 2024-12-31 阅读0 评论0

IT创业迷茫的解药,明确目标,坚定前行

在这个信息爆炸的时代,IT行业无疑成为了众多创业者追逐梦想的热点。随着市场竞争的加剧,许多创业者开始陷入迷茫。如何摆脱迷茫,找到属...

软件开发 2024-12-31 阅读0 评论0

IT人才缺失,挑战与对策

随着信息技术的飞速发展,我国IT产业呈现出蓬勃发展的态势。在繁荣的背后,IT人才缺失的问题日益凸显,成为制约我国IT产业发展的瓶颈...

软件开发 2024-12-31 阅读0 评论0