1

使用 ESB 而不是直接访问数据库(通过 Hibernate 或 JDBC)有什么优势。我知道您可以重用总线上的消息,但您能否不只是将数据库访问代码打包到一个 jar 中并将其分发到需要访问的不同系统(假设所有访问系统都支持 Java)?

4

1 回答 1

2

ESB 为您的服务/数据库层添加了一个抽象层。您可以将 jars 分发到所有需要服务访问的应用程序,但是如果服务更改了它的合同或业务逻辑需要更新怎么办。所有应用程序都很难更改其 jar 文件。尤其是在企业环境中,仅更改 jar 文件将需要大量的更改控制过程,这最终会增加更改成本。

如果您使用的是 ESB,则可以在单点完成添加删除或路由服务。因此,每次更改的成本将是最小的。也就是说,有几个缺点,例如 ESB 可能会成为应用程序中的单点故障。因此,您需要有足够的冗余来应对任何故障。

于 2010-05-19T17:31:20.430 回答