我的初衷是了解ESB架构和Hub-Spoke架构之间的区别。我担心,无论给出多少答案,我都无法理解它。
以下是我的理解 - ESB不是产品,而是架构拓扑 - ESB促进松散耦合的集成并减少依赖性 - Mulesoft ESB和市场上的其他ESB提供的不仅仅是ESB特性 - 消息路由/ Web服务支持
我想要了解的一点是 - 它与HUB-SPOKE架构有何不同?
ESB表示,分布式消息传递架构使其可以减少依赖性并减少停机时间。但是怎么样?是因为'适配器'/集成层在源和目标应用程序中?如果是这样,为什么Mulesoft或市场上的任何ESB都提出他们提供了大量的适配器?
如果是架构设计问题,这是否意味着,我可以在应用程序端使用适配器并使用ESB进行路由?并且没有使用MUlesoft提供的适配器?
更重要的是,它与Hub有什么不同?从技术上讲,为什么说'HUB-SPOKE'不允许分布式消息传递架构?
非常感谢任何帮助。提前谢谢。
答案 0 :(得分:1)
ESB是面向消息的中间件(MOM)以及典型应用程序容器提供的服务。
因此,ESB可以帮助不同的企业组件无缝集成,避免点对点集成。服务生产者/消费者(组件)一旦与ESB集成,它就可以与已经集成的任何组件进行通信,从而降低点对点集成成本。
ESB表示,分布式消息传递架构使其可以减少依赖性并减少停机时间。但是怎么样?是因为'适配器'/集成层在源和目标应用程序中?
ESB如何实现
与之相关的所有组件都应该进行讨论 通用数据格式(消息)
基于邮件标题的路由和过滤
支持多种沟通/整合模式
a)同步与异步
b)仅请求(有/无Ack)
c)回应请求
ESB提供哪些附加服务?
为什么Mulesoft或市场上的任何ESB都建议他们提供 大量的适配器?
DB服务,文件服务,规则引擎,邮件服务,FTP服务等常用组件已经集成到ESB /或已经编写了适配器,因此一旦您的组件与ESB集成,它就可以轻松地使用这些常用服务。没有配置
如果它是架构设计的问题,这是否意味着,我可以在应用程序端使用适配器并使用ESB进行路由?并且没有使用MUlesoft提供的适配器?
ESB不仅适用于路由,而且是最重要的功能之一。您可能不会使用ESB提供程序的所有预先提供的组件。您还可以将服务作为ESB组件发布,供社区使用。
更重要的是,它与Hub有什么不同?从技术上讲,为什么说'HUB-SPOKE'不允许分布式消息传递架构?
如果体系结构实现提供ESB的所有功能和服务,则没有区别。 但有人说,通过ESB,我们可以在不同的机器上分配组件,以实现扩展和容错。
答案 1 :(得分:0)
集线器/分支和总线拓扑之间的主要区别在于,对于总线体系结构,执行消息转换和路由的集成引擎会分发到应用程序适配器,而不是将其集中到单个“集线器”