SOA

技巧💡

SOA,是为了把多个系统整合。
微把单个系统拆开来,方向正好相反
soa是集成的思想,是解决服务孤岛打通链条,是无奈之举。esb适配各种协议,集中化的管理带来了性能不佳,厚重等问题。也无法快速扩展。适用于传统企业系统。不适合互联网的业务特点

背景

SOA 出现 的背景是企业内部的 IT 系统重复建设且效率低下。

  1. 企业各部门有独立的 IT 系统,比如人力资源系统、财务系统、销售系统,这些系统可能都涉及人员管理,各 IT 系统都需要重复开发人员管理的功能
  2. 技术实现不同,有的用java,有的用go。 协议有的用xml,json,rmi等都有。
  3. 系统和流程需要进行交互。

SOA如何解决?

企业在应用 SOA 时,各种异构的 IT 系统都已经存在很多年了,完全重写或者按照统一标准进行改造的成本是非常大的,只能通过 ESB 方式去适配已经存在的各种异构系统.

  1. 所有业务功能都是一项服务,服务就意味着要对外提供开放的能力,当其他系统需要使用这项功能时,无须定制化开发
  2. 企业服务总线(ESB),ESB来屏蔽异构系统对外提供各种不同的接口方式,以此来达到服务间高效的互联互通.

服务

微服务有点类似,把一些相同的业务功能,做成一个服务。

ESB(企业服务总线)

ESB 需要实现与各种系统间的协议转换、数据转换、透明的动态路由等功能。这带来了方便,同时也带来了复杂度。SOA也是被诟病的地方

image.png

资料

传统的可扩展架构模式:分层架构和SOA