← 返回首页
高频SOA / 中间件

SOA 与中间件

SOA 必考核心,中间件分类年年涉及。务必背:Web Service 3 协议、ESB、中间件 5 大类

高频 · 必背 分值 10~20

一、SOA 概述

SOA(Service-Oriented Architecture) 是一种以"服务"为基本单元的软件架构,把企业能力封装为粗粒度、可复用、标准化接口的服务,通过 ESB(企业服务总线) 集成与编排。

核心思想 / 4 个特征

二、Web Service 三大协议 ⭐⭐⭐

协议全称角色
SOAPSimple Object Access Protocol消息格式,基于 XML,可走 HTTP/SMTP
WSDLWeb Services Description Language接口描述,定义服务能力
UDDIUniversal Description Discovery Integration服务注册与发现,黄页
记忆:SOAP 传消息 · WSDL 描述 · UDDI 找服务 → "传·述·找"

三、ESB 企业服务总线 ⭐⭐⭐

ESB 是 SOA 的核心中介,提供 服务集成 + 协议转换 + 消息路由 等能力。

6 大核心功能

  1. 消息路由:基于内容、规则的消息分发
  2. 协议转换:HTTP ↔ JMS ↔ FTP 等
  3. 数据格式转换:XML ↔ JSON ↔ 其他
  4. 消息增强 / 编排:聚合、过滤、补充字段
  5. 服务管理:注册、发现、负载均衡、监控
  6. 安全 / 事务支持
SOA vs 微服务 关键差异

SOA:集中式 ESB,通信经过总线;粗粒度;企业级

微服务:去中心化(API 网关 + 服务注册),细粒度,智能终端"哑管道"

四、中间件 5 大分类 ⭐⭐⭐

案例分析考过多次,务必背全:

类别作用典型产品
数据库访问中间件统一访问异构数据源ODBC、JDBC、Hibernate
远程过程调用中间件跨进程/网络调用RPC、gRPC、Dubbo
面向消息中间件 (MOM)异步消息、削峰、解耦Kafka、RabbitMQ、RocketMQ、ActiveMQ
分布式对象中间件对象远程访问CORBA、EJB、DCOM
事务处理中间件跨系统事务管理Tuxedo、CICS、JTA
口诀:"库·调·消·对·事"5 类
补充:其它常见中间件
Web 服务器中间件(Tomcat、Nginx);缓存中间件(Redis);搜索中间件(Elasticsearch);API 网关(Kong)。

五、企业应用集成(EAI)4 个层次

  1. 表示集成 / 界面集成:把多个应用界面整合到统一门户
  2. 数据集成:统一数据,如 ETL、数据仓库
  3. 控制集成 / 应用集成:在业务逻辑层集成,API 互通
  4. 业务流程集成:跨系统编排业务流程,如 BPEL/BPM
口诀:"表·数·控·业"由浅入深

六、典型 SOA 实现技术

七、答题模板

题型:为什么要采用 SOA?
  1. 松耦合:降低系统间依赖
  2. 复用:核心业务封装为服务,跨系统调用
  3. 跨技术栈集成:打通异构遗留系统
  4. 业务敏捷:通过编排快速组装新业务
  5. 统一治理:ESB 集中管理 + 安全 + 监控
题型:中间件解决了什么问题?

"中间件位于操作系统与应用之间,屏蔽底层异构,提供 统一编程接口,简化分布式应用开发。它提升了 互操作性、可移植性、可扩展性、可维护性。"

✅ 自测

1. Web Service 三大协议各自作用?

2. ESB 至少 4 个核心功能?

3. 中间件 5 大分类?

4. SOA 与微服务的 3 大区别?

📗 高频专题 · SOA 与中间件 完