1

我的初衷是了解 ESB 架构和 Hub-Spoke 架构的区别。恐怕,无论给出多少答案,我都无法清楚地理解它。

以下是我的理解 - ESB 不是产品,而是架构拓扑 - ESB 促进松散耦合集成并减少依赖 - Mulesoft ESB 和市场上的其他 ESB 提供的不仅仅是 ESB 特性 - 消息路由/Web 服务支持

我想要理解的一点是——它与 HUB-SPOKE 架构有什么不同?

  • ESB 表示,分布式消息传递架构使其能够以减少依赖性和可能减少停机时间的方式工作。但是怎么做?是因为“适配器”/集成层在源应用程序和目标应用程序中吗?如果是这样,为什么 Mulesoft 或市场上的任何 ESB 建议它们提供大量的适配器?

  • 如果是架构设计的问题,这是否意味着我可以在应用程序端使用适配器并仅将 ESB 用于路由?让 MUlesoft 提供的适配器不用?

  • 更重要的是,它和Hub有什么不同?从技术上讲,为什么说“HUB-SPOKE”不允许分布式消息传递架构?

对此的任何帮助将不胜感激。提前致谢。

4

2 回答 2

1

ESB 是一种面向消息的中间件 (MOM) 以及典型应用程序容器提供的服务。

因此 ESB 帮助不同的企业组件无缝集成,避免点对点集成。服务生产者/消费者(组件)一旦与 ESB 集成,它就可以与任何已经集成的组件通信,从而降低点对点集成成本。

ESB 表示,分布式消息传递架构使其能够以减少依赖性和可能减少停机时间的方式工作。但是怎么做?是因为“适配器”/集成层在源应用程序和目标应用程序中吗?

ESB 如何做到这一点

  1. 与其集成的所有组件都应以通用数据格式(消息)进行通信

  2. 基于消息头的路由和过滤

  3. 支持多种通信/集成模式

    a) 同步与异步
    b) 仅请求(带/不带 Ack)
    c) 带响应的请求

ESB 提供哪些附加服务?

  1. 应用部署服务
  2. 线程池
  3. 消息队列
  4. 监控和统计
  5. 集群支持
  6. 高可用性支持

为什么 Mulesoft 或市场上的任何 ESB 建议他们提供大量的适配器?

常用组件,如 DB 服务、文件服务、规则引擎、邮件服务、FTP 服务已经集成到 ESB/或适配器已经编写,因此一旦您的组件与 ESB 集成,它可以轻松使用这些常用服务,只需很少或无需配置

如果是架构设计的问题,这是否意味着我可以在应用程序端使用适配器并仅将 ESB 用于路由?让 MUlesoft 提供的适配器不用?

ESB 不仅用于路由,而且是最重要的功能之一。您可能不会使用 ESB 提供程序的所有预先提供的组件。您还可以将服务发布为 ESB 组件以供社区使用。

更重要的是,它和Hub有什么不同?从技术上讲,为什么说“HUB-SPOKE”不允许分布式消息传递架构?

如果架构实现提供 ESB 的所有特性和服务,则没有区别。但是有人说使用 ESB,我们可以将组件分布在不同的机器上,以允许扩展和容错。

于 2016-08-04T05:35:22.387 回答
0

集线器/辐条和总线拓扑之间的主要区别在于,对于总线架构,执行消息转换和路由的集成引擎分布到应用程序适配器,而不是将其集中到单个“集线器”

于 2017-05-05T06:50:57.830 回答