Hub、Spoke 和 ESB 之间的区别 [英] Difference between Hub, Spoke and ESB

查看:29
本文介绍了Hub、Spoke 和 ESB 之间的区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I know theres already a good question on this, but it doesn't really answer what I'm looking for.

据我所知:

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

1.both are used as a central focal point between applications
2.both can use routing/mediation/transformation etc. between services/apps

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

But the only difference i can really see is that hub and spoke typically have many different formats entering the hub(SOAP/REST/XML/JSON...) while ESB typically has a standard format(Usually just SOAP.)

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

Also I keep reading that hub and spoke introduces a single point of failure compared to an ESB. So is the physical deployment the difference here? Where a hub has every possible endpoint and as ESB has endpoints deployed across multiple hubs? So an ESB is just multiple hubs(for want of better words)?

谁能帮我解决这个问题?

Can anyone help clear this up for me?

推荐答案

这里没有确切的答案,因为您可以将 ESB 视为一种特定的设计模式,或者将其视为有关软件集成工具和 SOA 演进的论述.

There is no exact answer here, since you can talk about ESB as a specific design pattern, or as the discourse about the evolution of software integration tools and SOA.

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

ESB as a design pattern means that you manage communication between different services using a bus where clients can easily plug in and out. This is usually done by forcing them to use standard data formats and protocols, whereas with Hub and Spoke you might use custom connectors and data transformations for each client. This limits the number of problems you may have with running multiple integrations, but you may still have a single point of failure in ESB.

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

ESB as a discourse (or marketing term) is a more complex issue, where people argue over what is "True ESB". Some people say you need to have a modular architecture where you can select which components you deploy, or you need to be able to distribute the components across different machines to allow scaling and fault tolerance. In the extreme definition you would need to deploy even your data transformers as distributed services.

这篇关于Hub、Spoke 和 ESB 之间的区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆