4

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

据我了解:

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

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

此外,我一直在阅读该集线器和辐条与 ESB 相比引入了单点故障。那么物理部署是这里的区别吗?一个集线器有所有可能的端点,而 ESB 有跨多个集线器部署的端点?所以 ESB 只是多个集线器(因为需要更好的词)?

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

4

3 回答 3

4

这里没有确切的答案,因为您可以将 ESB 作为一种特定的设计模式来谈论,或者作为关于软件集成工具和 SOA 发展的论述。

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

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

于 2014-05-16T13:01:27.623 回答
0

这里

ESB 是下一代企业集成技术,它取代了 EAI(轮辐)离开的地方。

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

ESB 方法的直接短期优势是它实现了与 EAI(中心辐射)方法相同的整体效果,但总拥有成本要低得多。这些节省不仅可以通过减少硬件和软件费用来实现,还可以通过使用分布式和灵活的框架实现的劳动力节省来实现。

于 2015-03-09T12:43:46.233 回答
0

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

当我们谈论 ESP 时,我们指的是software architecture modelwhere 作为 hub 指的是 strict hardware connecting topology

众所周知hardware topology,这个(集线器的集合)实现了一个 ESP,但两者之间的通信层有一条不同的线路。

于 2014-05-13T11:36:03.293 回答