在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
从软件架构的整个演进过程来看,软件架构的发展经历了单体架构、垂直架构、SOA架构和微服务架构,下面我们分别了解一下这四个架构,内容包括各个架构的说明、优点和缺点,赶紧来一起看看总结和归纳吧~
1、单体架构
(1)架构说明:全部功能集中在一个项目内(All in one)。
(2)架构优点:架构简单,前期开发成本低、开发周期短,适合小型项目。
(3)架构缺点:全部功能集成在一个工程中,对于大型项目不易开发、扩展和维护;技术栈受限,只能使用一种语言开发;系统性能扩展只能通过扩展集群节点,成本高。
2、垂直架构
(1)架构说明:按照业务进行切割,形成小的单体项目。
(2)架构优点:技术栈可扩展(不同的系统可以用不同的编程语言编写)。
(3)架构缺点:功能集中在一个项目中,不利于开发、扩展、维护;系统扩张只能通过集群的方式;项目之间功能冗余、数据冗余、耦合性强。
3、SOA架构
(1)架构说明:将重复功能或模块抽取成组件的形式,对外提供服务,在项目与服务之间使用ESB(企业服务总线)的形式作为通信的桥梁。
(2)架构优点:重复功能或模块抽取为服务,提高开发效率;可重用性高;可维护性高。
(3)架构缺点:各系统之间业务不同,很难确认功能或模块是重复的;抽取服务的粒度大;系统和服务之间耦合度高。
4、微服务架构
(1)架构说明:将系统服务层完全独立出来,抽取为一个一个的微服务。抽取的粒度更细,遵循单一原则,采用轻量级框架协议传输。
(2)架构优点:服务拆分粒度更细,有利于提高开发效率;可以针对不同服务制定对应的优化方案;适用于互联网时代,产品迭代周期更短。
(3)架构缺点:粒度太细导致服务太多,维护成本高;分布式系统开发的技术成本高,对团队的挑战大。
以上就是软件架构的发展演进过程的全部总结,大家都了解了吗?如果与软件架构还有更深入的学习兴趣,可以
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
初学者应该怎样学习编程?需要经历那些阶段?
对于初学者来说,学习编程是一个痛苦的过程,甚至认为编程就是一个难以逾越的鸿沟。满屏幕的英文字母,各式各样的专业名词导致初学者连尝试的机会都不敢考虑。但是面对各种网站华丽的效果、方便实用的网络工具以及行业高薪的诱惑,初学者依旧对编程抱有渴望的态度,只是没有好的学习途径和方法。那初学者应该怎样学习编程呢?需要经历那些阶段?
6811
2019-08-01 18:13:46
编程语言有哪几种?分别有什么特点?
大家经常在网上看到十大编程语言,五大编程语言等等信息。实际编程语言种类非常多,据不完全统计全球范围内编程语言有将近上千种。而我们经常说的编程语言,仅仅是目前根据市场使用率以及发展前景相对较好的编程语言。那目前比较热门的编程语言有哪几种呢?它们分别有什么特点?
19894
2019-08-14 18:51:03
MongoDB教程之基本操作讲解
MongoDB作为灵活丰富的数据库而深受人们的喜爱和欢迎。本文旨在讲解MongoDB,内容包括MongoDB的概念、支持的数据类型列表、与mysql对比、基础操作、增删改查、修改器等等。希望本教程可以带大家全面了解MongoDB数据库。
3975
2019-08-20 13:19:03
学习编程有什么用?有哪些好处?
在这个互联网飞速发展,似乎人人都开始学习编程的时代,许多人心中还是有这样的疑问:学习编程有什么用?有哪些好处?诚然,大多数人学习编程的目的,都是想通过学习编程找到一份IT工程师的高薪工作。但是除了出于对这个行业的职位选择,我们学习编程到底有什么用呢?下面我们就来看一看,那些许多人都忽略的学习编程的好处和作用。
10642
2020-04-22 10:28:14
Shell是什么?快速理解Shell的概念
Shell是什么?可能对于一些完全没有计算机基础的朋友来讲,想要理解Shell的概念可能会有一些困难。本文将从Shell的出现、定义以及分类来带大家快速理解Shell的概念。
5653
2020-07-29 14:41:17