美文网首页
微服务和SOA

微服务和SOA

作者: 爱学习的小仙女呀 | 来源:发表于2018-05-15 11:02 被阅读0次

微服务架构和SOA区别

最准确的说法:微服务是SOA的一种实现

最符合实际的说法:微服务是去ESB的SOA

背后实际上是两种思想的分歧:分布还是集中

当然这里说的不是服务的分布和集中。服务肯定是分布的,这是大前提,是SOA的本质理念之一。分歧在于对服务的治理,是分布还是集中。

开发——在这两种架构中,都可以使用不同的编程语言和工具开发服务,将技术的多样性引入到开发团队,在多个团队中组织开发。但是,在SOA中,每个团队需要了解公共通信机制。通过微服务,服务可以独立于其他服务操作和部署。因此,更容易频繁地部署新版本的微服务,或独立扩展服务。

边界上下文”——SOA鼓励共享组件,而微服务则试图通过“边界上下文”最小化共享。“边界上下文”指组件和数据作为一个最小依赖项的单个单元的耦合。由于SOA依赖于多个服务来实现业务请求,因此构建在SOA上的系统比微服务慢。

通信——在SOA中,ESB可能成为影响整个系统的单一故障点。由于每个服务都是通过ESB进行通信,如果其中一个慢下来,就可以通过对该服务的请求阻塞ESB。而微服务的容错能力要好得多。例如,如果一个微服务有内存故障,那么只会影响这一个服务,其他微服务将继续定期处理请求。

互操作性——SOA通过其消息传递中间件组件,使用多个异构协议。微服务试图通过减少集成的选择数量来简化体系结构模式。因此,如果希望在异构环境中使用不同的协议集成多个系统,则需要考虑SOA。如果所有服务都可以通过相同的远程协议访问,微服务是更好的选择。

范围——SOA和微服务的主要区别在于大小和范围。微服务的前缀“Micro”指的是内部组件的颗粒度,它比SOA要小得多。微服务中的服务组件通常只有一个目的。而SOA服务包括更多的业务功能,可以视为完整的子系统。

3结论

不能简单地说一个架构比另一个更好,这主要取决于企业构建的应用程序的目的。SOA更适合于需要与其他应用程序集成的更大、更复杂的环境。也就是说,较小的应用程序并不适合SOA,因为它们不需要消息传递中间件组件。另一方面,微服务更适合于较小的、分区良好的基于web的系统。如果正在开发移动或web应用程序,那么微服务将给开发人员更大的控制权。总之,微服务和SOA服务于不同的目的,是完全不同类型的架构。

服务拆分粒度:SOA首先要解决的是异构应用的服务化;微服务强调的是服务拆分尽可能小,最好是独立的原子服务。

服务依赖:传统的SOA服务,由于需要重用已有的资产,存在大量的服务间依赖;微服务的设计理念是服务自治,功能单一独立,避免依赖其他服务产生的耦合,耦合会带来更高的复杂度。

服务规模:传统的SOA服务粒度比较大,多数会采用将多个服务合成打成war包的方案,因此服务实例比较有限;微服务强调尽可能拆分,同时很多服务会独立部署,这将导致服务规模急剧膨胀,对服务治理和运维带来新的挑战。

架构差异:微服务化后,服务数量的激增会引起框架质量性的变化,例如企业集成总线ESB(实总线)逐渐被P2P的虚拟总线替代;为了保证高性能低时延,需要高性能的分布式服务框架保证微服务架构的实例。

服务治理:传统基于SOA Governance的静态治理转型为服务运行态微治理实时生效。

敏捷交付:服务由小团队负责微服务设计 开发 测试 部署线上治理,灰度发布和下线,运维珍哥生命周期支撑,实现真正的DevOps。

总结:量变引起质变,这就是微服务框架和SOA服务化框架的最大差异。

相关文章

  • SOA和微服务的区别

    SOA和微服务都是面向服务的架构。微服务是在soa架构思想上的最佳实践方向。 1.SOA(Service Orie...

  • 微服务和SOA

    微服务架构和SOA区别 最准确的说法:微服务是SOA的一种实现 最符合实际的说法:微服务是去ESB的SOA 背后实...

  • 微服务究竟该如何理解

    在谈微服务之前我们需要先了解两个概念:SOA和ESB。 SOA 面向服务的架构(SOA)是一个组件模型,它将应用程...

  • 初识SpringCloudAlibaba

    SOA和微服务架构的区别 SOA为粗粒度的服务治理,关注的是服务的重用性和信息孤岛问题 微服务为细粒度的服务治理,...

  • SOA和微服务

    微服务是SOA架构演进的结果。两者说到底都是对外提供接口的一种架构设计方式,随着互联网的发展,复杂的平台、业务的出...

  • 我对分布式多中心架构的几点看法

    每天都在谈SOA和微服务,但你真的理解什么是服务吗? 服务的技术架构之争 服务应该去版本化,不管是微服务还是SOA...

  • 我对分布式多中心架构的几点看法

    每天都在谈SOA和微服务,但你真的理解什么是服务吗? 服务的技术架构之争 服务应该去版本化,不管是微服务还是SOA...

  • 对SOA架构和Spring Cloud的思考?

    单体架构-->SOA架构 服务化架构,也可以称之为SOA架构。 SOA架构 --> 变迁到 微服务架构 ESB企...

  • SOA和RPC区别

    RPC SOA SOA又叫服务治理,入springcloud,服务进行监控,熔断,链路跟踪。

  • SOA架构和微服务架构的区别

    1.SOA架构和微服务架构的区别 首先SOA和微服务架构一个层面的东西,而对于ESB和微服务网关是一个层面的东西,...

网友评论

      本文标题:微服务和SOA

      本文链接:https://www.haomeiwen.com/subject/epjedftx.html