SOA
技巧💡
SOA,是为了把多个系统整合。
微把单个系统拆开来,方向正好相反
soa是集成的思想,是解决服务孤岛打通链条,是无奈之举。esb适配各种协议,集中化的管理带来了性能不佳,厚重等问题。也无法快速扩展。适用于传统企业系统。不适合互联网的业务特点
背景
SOA 出现 的背景是企业内部的 IT 系统重复建设且效率低下。
- 企业各部门有独立的 IT 系统,比如人力资源系统、财务系统、销售系统,这些系统可能都涉及人员管理,各 IT 系统都需要重复开发人员管理的功能
- 技术实现不同,有的用java,有的用go。 协议有的用xml,json,rmi等都有。
- 系统和流程需要进行交互。
SOA如何解决?
企业在应用 SOA 时,各种异构的 IT 系统都已经存在很多年了,完全重写或者按照统一标准进行改造的成本是非常大的,只能通过 ESB 方式去适配已经存在的各种异构系统.
- 所有业务功能都是一项服务,服务就意味着要对外提供开放的能力,当其他系统需要使用这项功能时,无须定制化开发
- 企业服务总线(ESB),ESB来屏蔽异构系统对外提供各种不同的接口方式,以此来达到服务间高效的互联互通.
服务
与微服务有点类似,把一些相同的业务功能,做成一个服务。
ESB(企业服务总线)
ESB 需要实现与各种系统间的协议转换、数据转换、透明的动态路由等功能。这带来了方便,同时也带来了复杂度。SOA也是被诟病的地方