首页 网络营销文章正文

电商微服务:SOA和微服务架构的区别是什么?

网络营销 2022年08月15日 18:00 126 admin

笔者目前就职于国内知名互联网公司,做过toG和toB的私有化项目的微服务架构设计,也做过大型产品层面的微服务架构设计,就SOA和微服务架构的区别这个问题,来谈一谈我的看法。

SOA和微服务架构的区别是什么?

不同的声音某些针对微服务架构的批评声称微服务其实就是SOA,并没有新鲜的内容。在某些层面,它们的确有些相似。SOA和微服务架构都是特定的架构风格,它们都以一系列服务的方式来把一个系统组织在一起。但如果深入研究,你就会发现微服务和SOA之间巨大的差异。

SOA与微服务差异SOA与微服务的差异主要体现在三个方面:服务间通信、数据管理、服务规模:

1 服务间通信

SOA和微服务架构通常采用完全不同的技术栈:

SOA采用智能管道,如Enterprise Service Bus(ESB,是包含了业务和消息处理的智能管道),往往采用重量级协议,例如SOAP或其他WS*标准;

微服务使用哑管道,例如消息代理,或者服务之间点对点通信,例如restfull请求或者grpc类的轻量级协议。

2 数据管理

SOA和微服务架构在处理数据的方式上也不尽相同:

SOA采用全局数据模型并共享数据库;

微服务架构则是每个服务都有自己的数据模型和数据库。更进一步,每一个服务一般都拥有属于它自己的领域模型。(笔者后续会有文章专门讲述领域模型设计)

3 服务规模

SOA和微服务架构之间的另一个重要区别就是服务的尺寸(规模):

SOA善于集成大型、复杂的单体应用程序;

微服务则是拆分为较小的服务

SOA与微服务架构图一个典型的SOA系统架构如下:

SOA和微服务架构的区别是什么?

一个典型的微服务架构如下:

SOA和微服务架构的区别是什么?

发表评论

备案号:川ICP备66666666号 网站地图强力驱动 微播真传媒