rest - Hub、Spoke 和 ESB 之间的区别

标签 rest architecture mule esb enterprise-integration

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

据我了解:

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

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

我还一直读到,与 ESB 相比,中心辐射型引入了单点故障。那么物理部署有什么不同吗?一个集线器拥有所有可能的端点,并且 ESB 具有跨多个集线器部署的端点?那么 ESB 只是多个集线器(没有更好的词语)?

谁能帮我解决这个问题吗?

最佳答案

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

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

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

关于rest - Hub、Spoke 和 ESB 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23540305/

相关文章:

java - "mule4 SFTP write connector writing file with timestamp , move connector unable to fetch filename from different flow"

java - 尝试使用 postman 上的 put 和 post 方法到我的 Spring Rest 应用程序时出现 500 内部服务器错误

architecture - CQRS 和 WebSocket

rest - Symfony发布请求正文参数?

architecture - 理想的 .NET 架构?

iphone - 如何将armv6架构添加到Xcode项目中?

mule - 为什么 Mule App xml 的架构验证对于 Java 组件绑定(bind)失败?

mysql - Mule 的动态连接器配置,特别是 MySQL 数据库名称?

python - 没有设置密码。 django 保存没有表单的用户

jquery - Sharepoint 2013 Rest API : create to multivalue column