2010-10-18 32 views
6

我有一个由三个部分组成的应用程序:MSMQ与SQL Server服务代理

  • 为最终用户和合作伙伴
  • 的订单管理系统来处理这些前端网上商店订单
  • 技术数据库系统来处理有序

今天,这些产品和服务的所有的技术细节,这些系统(这是单独的服务器和由独立的T开发eams)使用WCF Web服务进行互操作。

只要所有服务器都启动,此设置工作正常。无论如何,他们并不总是 - 不总是。

因此,我开始着眼于使用MSMQ或SQL Server Service Broker来处理这些系统之间的通信 - 至少涉及将订单存储到订单管理系统中的网上商店或订单管理系统将技术数据发送给技术数据库系统。

我希望在整个系统中实现更高的可靠性 - 即使订单管理后端暂时不可用,用户仍然可以下订单并且不会丢失。

但是最大的问题是:MSMQ或Service Broker?这三个系统都是基于Windows和.NET的,并且已经在三台独立的服务器上使用SQL Server。

有没有人有一些可靠的,现实世界的事实说话(或反对)这两种技术之一?这两套技术有什么实际经验?优点和缺点。如果你可以从头开始 - 你会选择哪一个?或者你会完全选择其他(什么?)?

回答

5

我已经在不同的情况下同时使用了两者。我的首选是非常基本的:如果从数据库事件触发消息发送事件,则使用SQL Service Broker;如果事件在代码中,请使用消息队列。该首选项的基础就是在同一平台上设置会更容易触发事件。

+0

好的,谢谢你们的见解! – 2010-10-18 21:17:04