Hub、Spoke 和 ESB 之间的区别
Posted
技术标签:
【中文标题】Hub、Spoke 和 ESB 之间的区别【英文标题】:Difference between Hub, Spoke and ESB 【发布时间】:2014-06-25 18:12:43 【问题描述】:我知道已经有一个很好的问题,但它并没有真正回答我在寻找什么。
据我了解:
1.两者都用作应用程序之间的中心焦点 2.都可以在服务/应用之间使用路由/中介/转换等
但我真正能看到的唯一区别是集线器和辐条通常有许多不同的格式进入集线器(SOAP/REST/XML/JSON...),而 ESB 通常有标准格式(通常只是 SOAP。)
此外,我一直在阅读,与 ESB 相比,集线器和辐条引入了单点故障。那么物理部署是这里的区别吗?一个集线器有所有可能的端点,而 ESB 有跨多个集线器部署的端点?所以 ESB 只是多个集线器(因为需要更好的词)?
谁能帮我解决这个问题?
【问题讨论】:
soalink.blogspot.in/2009/08/… 您在“格式”部分不正确。 ESB 可以支持多种格式和协议。实际上,这是 ESB 的用途之一:使客户端能够使用他们想要的任何传输/协议,并让 ESB 处理转换。 【参考方案1】:这里没有确切的答案,因为您可以将 ESB 视为一种特定的设计模式,或者作为关于软件集成工具和 SOA 发展的论述。
ESB 作为一种设计模式意味着您可以使用总线管理不同服务之间的通信,客户端可以轻松地插入和拔出。这通常是通过强制他们使用标准数据格式和协议来完成的,而对于 Hub 和 Spoke,您可以为每个客户端使用自定义连接器和数据转换。这限制了您在运行多个集成时可能遇到的问题数量,但在 ESB 中您可能仍然会遇到单点故障。
ESB 作为一个话语(或营销术语)是一个更复杂的问题,人们争论什么是“真正的 ESB”。有人说您需要有一个模块化架构,您可以在其中选择要部署的组件,或者您需要能够将组件分布在不同的机器上以允许扩展和容错。在极端定义中,您甚至需要将数据转换器部署为分布式服务。
【讨论】:
【参考方案2】:我不知道你说is physical deployment the difference here?
是不是这个意思,但实际上Hubs和ESP的主要区别在于,它的通信系统在different Layer.
中
当我们谈论 ESP 时,我们指的是 software architecture model
,而集线器指的是严格的 hardware connecting topology
。
这个hardware topology
(集线器的集合)实现了一个ESP,但两者之间的通信层有一条不同的线。
【讨论】:
【参考方案3】:来自Here
ESB 是下一代企业集成技术,取代了 EAI(轮辐)离开的地方。
更智能的端点:ESB 支持将更多智能置于该点的架构 应用程序与外界交互的地方。 ESB 允许每个端点呈现 本身就是使用 WSDL 等标准的服务,并且不需要编写独特的接口 对于每个应用程序。集成智能可以本地部署在端点(客户端和 服务器)自己。绕过规范格式,有利于直接将有效负载格式化为 目标格式。这种方法有效地消除了 EAI 中固有的许多复杂性 产品。 分布式架构:EAI 是一种纯粹的中心辐射型方法,而 ESB 是一种轻量级的方法 分布式架构。当程序之间的每次交互都有 转换为规范格式。一个 ESB,分发更多的 处理逻辑到端点。 没有集成堆栈:随着客户使用 EAI 产品解决更多问题,每个供应商都添加了 与 EAI 产品结合的专有功能堆栈。随着时间的推移,这些集成堆栈得到了 单片,需要深厚的专业知识才能使用。相比之下,ESB 是相对较薄的软件层 可以使用开放标准对其应用其他处理层。例如,如果 ESB 用户 想要部署一个特定的业务流程管理工具,它可以很容易地与 ESB 使用行业标准接口(例如 BPEL)来协调业务流程。ESB 方法的直接短期优势是它实现了相同的整体效果 作为 EAI(轮辐)方法,但总拥有成本要低得多。这些节省没有实现 不仅通过减少硬件和软件费用,而且通过以下方式实现的劳动力节省 使用分布式且灵活的框架。
【讨论】:
以上是关于Hub、Spoke 和 ESB 之间的区别的主要内容,如果未能解决你的问题,请参考以下文章