技术原理

微服务与SOA的区别是什么

在上一篇关于什么是微服务的博客中

,您将了解到具有分布式体系结构的SOA和微服务比单体体系结构具有显著的优势。在本博客中,我将向您解释基于分层的体系结构,并告诉您微服务与SOA体系结构之间的区别是什么?了解它们之间的差异将为微服务认证培训所需的基础奠定基础。“KDSPE”“KDSPs”因此,在深入研究微服务与SOA之间的差异之前,让我来告诉您,单片架构SOA之间的基本区别。和微服务。

Monolithic vs SOA vs Microservices - SOA vs Microservices - Edureka

通俗地说,单片类似于一个大容器,其中应用程序的所有软件组件都组装在一起并紧密打包。

面向服务的体系结构本质上是服务的集合。这些服务相互通信。通信可以涉及简单的数据传递,也可以涉及协调某些活动的两个或多个服务。需要一些连接服务的方法。

微服务,也称为微服务体系结构,是一种体系结构样式,它将应用程序构造为一个小型自治服务的集合,并围绕一个业务域建模。

您还可以观看下面的视频,其中我们的微服务体系结构专家已经解释了微服务体系结构和SOA之间的区别。

微服务与SOA的对比| Edureka

本视频将帮助您了解其体系结构和其他主要功能之间的区别现在,让我们看看微服务与SOA之间的关键区别:

微服务与SOA

在比较微服务与SOA时,它们都依赖于服务作为主要组件,但它们在服务特性方面差异很大。

面向服务的体系结构

它定义了4种基本服务类型,如下所示:

SOA Architecture - Microservices vs SOA - Edureka

业务服务:

它们是定义核心业务操作的粗粒度服务。通过XML、业务流程执行语言(BPEL)和其他语言表示。”

“企业服务:

”实现了由业务服务定义的功能。它们主要依靠应用程序服务和基础设施服务来满足业务请求。”

“应用程序服务”

“细粒度服务,仅限于特定的应用程序上下文。专用用户界面可以直接调用服务。”

“基础设施服务”

实现非功能性任务,如身份验证、审核、安全性和日志记录。它们可以从应用程序服务或企业服务中调用。”

微服务具有有限的服务分类。它们由以下描述的2种服务类型组成。

Microservices Architecture - microservices vs SOA - Edureka

功能服务:

它们支持特定的业务操作。服务的访问是在外部完成的,这些服务不与其他服务共享。在SOA中,基础设施服务实现审计、安全性和日志记录等任务。在这方面,这些服务并没有对外公开。SOA和MSA的主要区别Microservices vs SOA architecture - Microservices vs SOA - Edureka

SOA MSA遵循“尽可能共享”架构方法遵循“尽可能少共享”架构方法的重要性在于业务功能重用的重要性在于“有界上下文”的概念它们有共同的治理和标准关注人员协作和其他选项的自由使用企业服务总线(ESB)进行通信简单的消息传递系统他们支持多个消息协议他们使用轻量级协议,如HTTP/REST等。多线程和更多的开销处理I/O单线程通常使用事件循环功能非锁定I/O处理最大限度地提高了应用程序服务的可重用性,重点是分离传统的关系数据库are更经常使用的现代关系数据库更经常使用的一个系统性的改变需要修改整体性的一个系统性的改变是创建一个新的服务DevOps/持续交付正在变得流行,但是还没有成为主流强烈关注DevOps/持续交付Microservices和SOA之间的主要区别详细地说:服务粒度:微服务体系结构中的服务组件通常是单用途的服务,可以很好地完成一件事。使用SOA,服务组件的大小可以从小型应用程序服务到非常大型的企业服务。事实上,在SOA中有一个由大型产品甚至子系统表示的服务组件是很常见的。组件共享:组件共享是SOA的核心原则之一。事实上,组件共享是企业服务的核心。SOA增强了组件共享,而MSA则试图通过“有界上下文”尽量减少共享。有界上下文是指组件及其数据作为一个具有最小依赖性的单个单元的耦合。由于SOA依赖多个服务来满足业务请求,因此基于SOA构建的系统可能比MSA慢。中间件与API层:microservices架构模式通常具有API层,而SOA具有消息中间件组件。SOA中的消息传递中间件提供了MSA中没有的许多附加功能,包括中介和路由、消息增强、消息和协议转换。MSA在服务和服务使用者之间有一个API层。远程服务:SOA架构依赖于消息(AMQP,MSMQ)和SOAP作为主要的远程访问协议。大多数MSA依赖于两个协议:REST和简单消息(JMS,MSMQ),MSA中的协议通常是同质的。异构互操作性:SOA通过其消息传递中间件组件促进多个异构协议的传播。MSA试图通过减少集成选择的数量来简化架构模式。如果希望在异构环境中使用不同协议集成多个系统,则需要考虑SOA。如果您的所有服务都可以通过同一个远程访问协议公开和访问,那么MSA是一个更好的选择。”最后,我要说的是,判断哪种架构比其他架构更好并不是那么简单。这主要取决于您正在构建的应用程序的用途。SOA更适合于需要与许多异构应用程序集成的大型复杂业务应用程序环境,即较小的应用程序不适合SOA,因为它们不需要消息中间件组件。微服务,另一方面,它更适合于更小的、分区良好的、基于web的系统,在这些系统中,microservices可以让您作为开发人员获得更大的控制权。结论是,由于它们都具有不同的体系结构特征,但这主要取决于您构建的应用程序的目的。

如果您希望学习微服务并构建自己的应用程序,然后查看我们的微服务体系结构培训,该培训包括讲师指导的现场培训和实际项目体验。该培训将帮助您深入了解微服务,并帮助您掌握该主题。

订阅我们的youtube频道以获取新的更新

“有问题要问我们吗?请在“Microservices vs SOA”的评论部分提到它,我会回复您。

你也可能喜欢

发表评论

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

提示:点击验证后方可评论!

插入图片
人工智能发展趋势包括 投稿者
我还没有学会写个人说明!
最近文章
  • * 没有更多文章了
  • 热门搜索

    分类目录