关于 SOA 架构的理解

SOA 没什么优点,能应用的领域就是帮助传统企业集成异构的老系统

说到 SOA 就必须提到 ESB(Enterprise Service Bus),即企业服务总线。传统企业各种历史遗留的老系统对外提供的服务接口标准不统一,比如协议有的用 HTTP,有的用 JMS,数据格式有的用 XML,有的用 JSON,还有直接二进制的。ESB 就是要完成各种协议和数据格式的互相转换,让各个异构服务可以方便地相互调用,但是各种协议和数据格式的转换工作量可能很大,ESB 本身容易成为性能瓶颈,所以 SOA 的 ESB 设计也是无奈之举。互联网行业通常比较年轻,没有那么多历史包袱。就算有,技术部往往也有大量的财力人力做重构,所以 SOA 和 ESB 这种东西就比较遥远。

SOA 和 微服务有什么区别?
(1)SOA 是对多个系统做整合,侧重于兼容已有的信息系统;
(2)微服务是将一个系统做拆分,侧重于高内聚低耦合,轻量灵活、快速迭代。

SOA 只是一种架构设计模式,而 SOAP、REST、RPC 就是根据这种设计模式构建出来的规范,其中:
(1)SOAP 通俗理解就是 http+xml 的形式,CXF 就是典型的 SOAP/REST 框架
(2)REST 就是 http+json 的形式,SpringCloud 就是遵守 REST 规范的生态系统
(3)RPC 是基于 socket的形式,dubbo 就是典型的 RPC 框架


转载请注明来源。 欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。 可以在下面评论区评论,也可以邮件至 sharlot2050@foxmail.com。

文章标题:关于 SOA 架构的理解

字数:402

本文作者:夏来风

发布时间:2021-04-29, 13:25:49

原始链接:http://www.demo1024.com/blog/java-soa/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。