【问题标题】:Biztalk vs Azure Service BusBiztalk 与 Azure 服务总线
【发布时间】:2014-03-16 18:00:03
【问题描述】:

我正在寻找在少数本地数据库之间进行实时数据集成的解决方案。不涉及太多的数据转换。 我正在评估各种可用的 ESB。我认为使用 Azure 服务总线进行数据集成可以快速开发解决方案。是否建议使用 Azure 服务总线来集成所有本地数据库?

【问题讨论】:

    标签: azure biztalk biztalk-2010 azureservicebus


    【解决方案1】:

    除非集成非常复杂,否则 BizTalk 可能不是适合此工作的工具。另一方面,将数据发送到云端只是为了将其转换回另一个数据库(在同一个 LAN 上?)也不是正确的方法——这将引入延迟和流量成本。

    (接近)数据库的实时集成听起来像这样的工作:

    如果您真的想构建服务总线,请按照 Sam 的建议构建基于本地 AMQP 的总线(例如 Windows 服务总线或 Rabbit),或者购买现有产品(NServiceBus 等)。

    【讨论】:

    • 如果确实是数据库到数据库的通信,请使用 SSIS,正如 Stuart 所提到的!该服务正是为此而构建的。
    【解决方案2】:

    如果您将所有应用程序都“部署在本地”,则将集成层移至云端会带来额外风险(突然间,您的互联网连接可能会导致集成层中断) 但好消息是您可以使用本地运行的 Windows Server 服务总线(即使使用 Windows Azure 包!) 相同的编程模型,相似的消息传递功能,所以这可能是一个不错的选择。

    与 BizTalk 相比...服务总线是轻量级的,仅用于消息传递。 BizTalk 提供了更丰富的功能(转换、管道、BAM、业务规则、适配器)。

    祝你好运

    【讨论】:

    • 感谢您的想法,在 Supported Topologies msdn.microsoft.com/en-us/library/windowsazure/dn441419.aspx> 中提到它就像一个服务器用于所有数据库。我的上游数据库位于多台服务器(大约 12 台服务器)中。 windows server 的服务总线还能用吗?
    • Service Bus 确实与您的其他数据库无关。服务总线只是使用他自己的数据库进行持久性、配置等(因此您参考的拓扑图)。如果您需要连接到其他数据库或系统,则必须自己编写/编码。 Service Bus 只会处理消息传递、事件等。如果您不想这样做,BizTalk 可以帮助您
    【解决方案3】:

    如果您只想在几个本地数据库之间进行集成,那么您可以考虑使用 Sql Server 的 Service Broker (http://msdn.microsoft.com/en-gb/library/bb522893.aspx)。

    它提供了一种可靠的异步方式在数据库之间实时传递数据。它可以管理消息顺序,并且可以在同一个队列上同时运行多个会话,每个会话都由它自己的接收器实例处理。

    这里有一个很好的概述... http://technet.microsoft.com/en-us/library/ms166104(v=sql.105).aspx

    【讨论】:

      猜你喜欢
      • 2011-07-20
      • 1970-01-01
      • 2021-12-19
      • 1970-01-01
      • 1970-01-01
      • 2013-11-02
      • 2016-12-10
      • 2017-04-25
      • 2020-11-11
      相关资源
      最近更新 更多