【发布时间】:2014-03-16 18:00:03
【问题描述】:
我正在寻找在少数本地数据库之间进行实时数据集成的解决方案。不涉及太多的数据转换。 我正在评估各种可用的 ESB。我认为使用 Azure 服务总线进行数据集成可以快速开发解决方案。是否建议使用 Azure 服务总线来集成所有本地数据库?
【问题讨论】:
标签: azure biztalk biztalk-2010 azureservicebus
我正在寻找在少数本地数据库之间进行实时数据集成的解决方案。不涉及太多的数据转换。 我正在评估各种可用的 ESB。我认为使用 Azure 服务总线进行数据集成可以快速开发解决方案。是否建议使用 Azure 服务总线来集成所有本地数据库?
【问题讨论】:
标签: azure biztalk biztalk-2010 azureservicebus
除非集成非常复杂,否则 BizTalk 可能不是适合此工作的工具。另一方面,将数据发送到云端只是为了将其转换回另一个数据库(在同一个 LAN 上?)也不是正确的方法——这将引入延迟和流量成本。
(接近)数据库的实时集成听起来像这样的工作:
如果您真的想构建服务总线,请按照 Sam 的建议构建基于本地 AMQP 的总线(例如 Windows 服务总线或 Rabbit),或者购买现有产品(NServiceBus 等)。
【讨论】:
如果您将所有应用程序都“部署在本地”,则将集成层移至云端会带来额外风险(突然间,您的互联网连接可能会导致集成层中断) 但好消息是您可以使用本地运行的 Windows Server 服务总线(即使使用 Windows Azure 包!) 相同的编程模型,相似的消息传递功能,所以这可能是一个不错的选择。
与 BizTalk 相比...服务总线是轻量级的,仅用于消息传递。 BizTalk 提供了更丰富的功能(转换、管道、BAM、业务规则、适配器)。
祝你好运
【讨论】:
如果您只想在几个本地数据库之间进行集成,那么您可以考虑使用 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
【讨论】: