[toc]

SOA

Service-Oriented Architecture 面向服务的架构

SOA(面向服务的架构)定义了一种可通过服务接口复用软件组件的方法。 此类接口会使用通用的通信标准,这些标准能够快速合并到新应用程序中,而不必每次都执行深度集成。

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

首先SOA和微服务架构一个层面的东西,而对于ESB和微服务网关是一个层面的东西,一个谈到是架构风格和方法,一个谈的是实现工具或组件。

  1. SOA(Service Oriented Architecture)“面向服务的架构”:他是一种设计方法,其中包含多个服务, 服务之间通过相互依赖最终提供一系列的功能。一个服务 通常以独立的形式存在与操作系统进程中。各个服务之间 通过网络调用。

  2. 微服务架构:其实和 SOA 架构类似,微服务是在 SOA 上做的升华,微服务架构强调的一个重点是“业务需要彻底的组件化和服务化”,原有的单个业务系统会拆分为多个可以独立开发、设计、运行的小应用。这些小应用之间通过服务完成交互和集成。

微服务架构 = 80%的SOA服务架构思想 + 100%的组件化架构思想 + 80%的领域建模思想

原文链接:https://blog.csdn.net/zpoison/java/article/details/80729052

很多人说微服务是 SOA 的延续,都强调松耦合,只是 SOA 高度依赖服务总线(ESB),而微服务不需要。

从理论上讲,您可以在不使用 ESB 的情况下实施 SOA,但每个应用程序所有者都必须通过自己独有的方式来公开服务接口,这就需要完成大量工作(即使接口最终可复用也不例外),并且在未来会带来巨大的维护挑战。 实际上,ESB 最终被认为是所有 SOA 实施都包含的事实元素,以致于有时将这两个术语作为同义词使用,从而造成了混乱。

image-20221107182348701

https://www.zhihu.com/question/37808426/answer/536875376

捷顺的天启系统更像是SOA系统,其划分不完全隔离,主要体现在数据库的不分离,存在公共业务,天启和其他业务系统一起更像SOA,天启平台像那个总线

什么是 SOA(面向服务的架构)? - 中国 | IBM