ESB与EAI/轮辐 [英] ESB Vs EAI/Hub Spoke
问题描述
我阅读了很多有关集成架构从点对点到集线器分支再到ESB的演变的集成文献.但是对于我的一生,我一直在努力理解Hub-Spoke和ESB之间的区别. Hub and Spoke通常如下所示-
轮毂是一个大圆圈(Hub),周围有多个较小的圆圈,通过辐条连接到轮毂
但是可以像描绘ESB一样重画吗?
所以我不确定为什么ESB和Hub-Spoke架构在图片中表示的方式有所不同,即使这个想法似乎是相同的.
让我们看一个实际的例子-
Oracle Service Bus中的代理服务从文件服务器读取CSV文件,将文件拆分为多行,将每一行转换为XML,最后使用该XML更新ERP,在Hub-说话?
集线器分支通常被标记为单点故障.但是在上面的示例中,如果我的ESB失败了,整个过程不会崩溃吗?
我正在寻找一些实用的示例,这些示例说明了如何在Hub-Spoke和ESB中以不同的方式处理特定的集成,但是我所读的书/文档都没有提供特定的实用示例.
严格讲架构模式-
在 Hub And Spoke 中,HUB是一个智能实体,具有将特定消息路由到特定系统的所有逻辑.集线器会将邮件 推送 给目标收件人.
在 BUS 中,没有具有所有路由逻辑的中央实体.它只是一个发布消息的地方.接收者将必须监视BUS,以了解打算发送给自己的任何消息,并且一旦发现这样的消息,接收者就必须将其从总线上 Pull . >
尽管您提到的两种描述看起来都相同,但是区别在于路由逻辑所在的位置.
I read a lot of integration literature that talk about the evolution of integration architecture from Point-to-Point to Hub-Spoke to ESB. But for the life of me I am struggling to understand the difference between Hub-Spoke and ESB. Hub and Spoke is usually depicted as the following -
Hub as one big circle (Hub) with multiple smaller circles around connected to the hub via spokes
But the same can redrawn as you would depict an ESB right?
So I am not sure why ESB and Hub-Spoke architectures are represented differently in pictures even though the idea seems to be the same.
Let's look at a practical example -
A proxy service in my Oracle Service Bus reads a CSV file from a file server, Splits the file into multiple rows, converts each row to XML and finally updates an ERP with this XML, how is this any differently handled in Hub-Spoke?
A Hub-Spoke is typically tagged as a Single Point of Failure. But in my above example if my ESB fails wouldn't the entire process fall apart?
I am looking for practical examples that show how a specific integration is handled differently in Hub-Spoke and ESB but none of the books/documents I read provide specific practical examples.
Speaking strictly of the architectural patterns-
In Hub And Spoke the HUB is an intelligent entity with all the logic to route a particular message to a particular system. The Hub will Push the message to the intended recipient.
In a BUS there is no central entity with all the routing logic. It is just a place where one would publish a message. The recipient will have to monitor the BUS for the arrival of any message intended for itself and whenever it finds such a message it will have to Pull it off the BUS.
Although both depictions as you mentioned look the same, the difference is in where the routing logic lies.
这篇关于ESB与EAI/轮辐的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!