加入收藏 | 设为首页 | 会员中心 | 我要投稿 葫芦岛站长网 (https://www.0429zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 评论 > 正文

让你花10分钟读懂微服务

发布时间:2021-04-01 14:04:37 所属栏目:评论 来源:互联网
导读:杂的应用程序时,编写单体应用程序的做法变得越来越成问题,微服务就应运而生。 传统上,应用程序是作为单体构建的,所有代码都集中在一个大的代码库中。由于没有明确区分不同功能,因此更新应用程序的一部分时,可能会无意中影响到完全不相关的功能。即使进

杂的应用程序时,编写单体应用程序的做法变得越来越成问题,微服务就应运而生。

传统上,应用程序是作为单体构建的,所有代码都集中在一个大的代码库中。由于没有明确区分不同功能,因此更新应用程序的一部分时,可能会无意中影响到完全不相关的功能。即使进行简单的更改,你也必须重新部署整个应用程序,如果出现问题,则所有内容都会受到影响,而不仅仅是要被更新或扩展的组件。

针对这个问题,我们可以通过将单体架构拆分成模块(半独立组件)来解决,尽管它可能比实现微服务简单得多,但它从未真正流行起来。

面向服务的体系结构(SOA)吸引了很多人,但很大程度上失败了,主要是因为它留下了许多未解决的问题,例如如何正确拆分服务。基于微服务的体系结构是一种更具说明性的SOA类型,它源于现实世界的用例,并已被众多组织成功采用。

微服务只不过是一种模块化架构,不同模块间通过网络进行通信。

什么是微服务?

微服务是小型的自治应用程序组件,它们一起构成一个应用程序。他们从SOA继承了基本的操作模型,但是以一种更具说明性的方式对其进行了扩展。微服务通常被认为是一个独立部分,由一个团队维护。

微服务为什么重要?由上文可知,要更新应用程序,我们可以独立更新和部署微服务,而不必重新部署整个应用程序。它们还允许单个微服务团队完全专注于单个业务流程,而无需了解整个应用程序。

为此,微服务具有以下属性:

  • 松耦合:每个服务都是自治的,只能松散地连接到系统的其余部分。这意味着它具有自己的生命周期,并且可以独立部署,更新,扩展和删除。
  • 高内聚性:具有相关行为的代码组合在一起。通过将所有相关行为分组在一起,工程师仅在需要更改特定行为时才在一个地方更新代码。
  • 信息隐藏:每个微服务仅共享其他服务所需的数据,并仅隐藏与其自己的流程相关的数据。数据共享可能会无意间导致耦合,因此应始终谨慎。

为了充当一个有凝聚力的应用程序,所有这些不同的自治服务都通过网络接口进行通信。这为大量通信带来了新的挑战。顺便说一下,这就是服务网格发挥作用的地方。

现在我们知道什么是微服务,让我们探究组织为什么采用微服务。

微服务的好处

无论是通过使服务与团队保持一致来解决“开发人员问题”,还是降低采用新技术的风险,或是减轻部署的复杂度和提高可伸缩性,采用微服务都会带来很多好处。让我们仔细看看:

  • 自治团队:微服务允许小型团队完全拥有服务的整个生命周期。这样可以提高责任心,代码质量和工作满意度。对于大多数大型组织而言,

(编辑:葫芦岛站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读