Hub,Spoke和ESB之间的区别

时间:2014-05-08 11:20:26

标签: rest architecture mule esb enterprise-integration

我知道这已经是一个很好的问题,但它并没有真正回答我正在寻找的问题。

据我所知:

1.两者都被用作申请之间的中心焦点 2.可以在服务/应用程序之间使用路由/调解/转换等

但我能真正看到的唯一区别是,hub和spoke通常有许多不同的格式进入集线器(SOAP / REST / XML / JSON ......),而ESB通常有标准格式(通常只是SOAP)。 / p>

此外,我继续阅读该集线器和辐条引入了与ESB相比的单点故障。这里的物理部署差异是什么?哪个集线器具有所有可能的端点,并且ESB的端点是跨多个集线器部署的?所以ESB只是多个集线器(因为缺少更好的单词)?

任何人都可以帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:4)

这里没有确切的答案,因为您可以将ESB作为特定的设计模式,或者关于软件集成工具和SOA演变的讨论。

作为设计模式的ESB意味着您可以使用总线管理不同服务之间的通信,客户端可以轻松地插入和拔出。这通常是通过强制它们使用标准数据格式和协议来完成的,而对于Hub和Spoke,您可以为每个客户端使用自定义连接器和数据转换。这限制了运行多个集成时可能遇到的问题数量,但在ESB中可能仍然存在单点故障。

ESB作为话语(或营销术语)是一个更复杂的问题,人们争论什么是“真正的ESB”。有些人说你需要一个模块化的架构,你可以选择部署的组件,或者你需要能够在不同的机器上分配组件以允许扩展和容错。在极端定义中,您甚至需要将数据转换器部署为分布式服务。

答案 1 :(得分:0)

当你说is physical deployment the difference here?时我不知道你是不是这个意思,但实际上Hubs和ESP之间的主要区别是,它的通信系统在different Layer.

当我们谈论ESP时,我们正在考虑software architecture model,因为中心正在严格审查hardware connecting topology

很明显,这个hardware topology(一组集线器)实现了ESP,但两者之间的通信层有一条截然不同的线。

答案 2 :(得分:0)

来自Here

ESB是下一代企业集成技术,它接管了EAI(hub-spoke)离职的地方。

  • 更智能的端点:ESB支持在这一点上提供更多智能的架构 应用程序与外部世界的接口。 ESB允许每个端点呈现 它本身作为一种使用WSDL等标准的服务,并且不需要编写独特的接口 为每个应用程序。集成智能可以本地部署在端点(客户端和端点)上 服务器)自己。绕过规范格式,有利于直接格式化有效负载 目标格式。这种方法有效地消除了EAI固有的大部分复杂性 产品。
  • 分布式架构:EAI是纯粹的中心辐射方式,ESB是轻量级的 分布式架构。当程序之间的每次交互都有一个集中的中心 转换为规范格式。一个ESB,分发更多的 处理逻辑到终点。
  • 没有集成堆栈:由于客户使用EAI产品来解决更多问题,因此每个供应商都添加了 堆叠的专有功能与EAI产品相结合。随着时间的推移,这些集成堆栈得到 单片并需要深入的专业知识才能使用。相比之下,ESB是一个相对薄的软件层 可以使用开放标准应用其他处理层。例如,如果是ESB用户 想要部署一个特定的业务流程管理工具,它可以很容易地与之集成 ESB使用BPEL等行业标准接口来协调业务流程。

ESB方法的直接短期优势在于它实现了相同的整体效果 作为EAI(hub-spoke)方法,但总体拥有成本要低得多。这些节省没有实现 只有通过减少硬件和软件费用,而且还可以通过实现的人工节省 使用分布式和灵活的框架。