EIP、ESB、API网关学习笔记
目标
说明EIP、ESB、API网关:
- 基本概念
- 相互之间的区别与联系
- 使用场景
- 常见框架
主要是知识整理,做个笔记,摘抄内容会给出出处。
预备知识
SOA
在聊EIP ESB这些知识前,首先要了解什么是SOA。
SOA是面向服务架构,是一种建设企业IT生态系统的架构指导思想。SOA的关注点是服务。
服务最基本的业务功能单元,由平台中立性的接口契约来定义。
通过将业务系统服务化,可以将不同模块解耦,各种异构系统间可以轻松实现服务调用、消息交换和资源共享。
借用一下来自02.SOA架构与落地方式 的内容:
- 从宏观角度:强调整个企业IT生态环境是一个大的整体。各个系统的服务拆解成不同粒度的服务,而这些服务又可以组装到一起,实现更复杂的业务逻辑
- 从研发角度:从代码的复用,扩展到服务的复用
- 从管理角度:从更高层次对整个企业内的IT系统进行管理。
落地方式:
-
分布式服务化
- 相关技术dubbo, Spring Cloud, ICE等
-
ESB集中式管理
-
传统企业的IT内部遗留系统包袱较重,资源整合很大一部分是需要打通新旧技术体系的任督二脉,所以更偏重于以ESB作为基础支撑技术,以整合集成为核心,将各个新旧系统的业务能力逐渐的在ESB容器上聚合和集成起来。比较流行的商业ESB有IBM的WMB和oracle的osb,开源esb有mule、servicemix、jbossesb、wso2esb和openesb。
-
基本概念
什么是ESB?
ESB是一个集成的容器,是一个集中式的服务总线。通过ESB,可以实现集成业务处理,监控系统间消息流动,管理系统间交互的业务服务。ESB的关注点是集成,核心概念是服务和消息,主要方式是协议适配和中介处理。
系统与系统间的交互方式是服务。服务与服务之间,以及服务内部传递的都是消息。通过各种不同的协议适配,将各种不同平台的异构服务接入到ESB,转换成消息流。再通过各种中介处理:路由、转换、增强、分支、聚合等等。最后再将消息转换成适当形式,发送到指定的目的地或返回给调用方。
一般来说,ESB本身的模型就是管道和过滤器