【问题标题】:Service bus Vs direct database access服务总线与直接数据库访问
【发布时间】:2011-02-21 12:15:04
【问题描述】:

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

【问题讨论】:

    标签: java web-services hibernate jdbc esb


    【解决方案1】:

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

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

    【讨论】:

    • 更进一步,传输上的行为也会有所不同。一些消费系统可能需要保证交付,而其他消费系统可能会根据各种因素完全错过或跳过。选择数据的丰富(或混淆)也是发布/分发数据时的常见要求。这些东西都不需要成为数据库或消费应用程序的关注点,并且可以合理地成为 BUS 结构的功能。
    猜你喜欢
    • 2018-05-16
    • 1970-01-01
    • 1970-01-01
    • 2013-05-25
    • 2010-11-22
    • 2013-11-06
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    相关资源
    最近更新 更多