代码之家  ›  专栏  ›  技术社区  ›  marc_s

msmq与SQL Server Service Broker之比较

  •  6
  • marc_s  · 技术社区  · 15 年前

    我有一个由三部分组成的应用程序:

    • 面向最终用户和业务合作伙伴的前端Web商店
    • 处理这些订单的订单管理系统
    • 一个技术数据库系统,用于处理所订购产品和服务的所有技术细节。

    如今,这些系统(位于不同的服务器上,由不同的团队开发)使用WCF Web服务进行互操作。

    只要所有服务器都启动,这个设置就可以正常工作。但他们并不总是这样。

    因此,我开始研究使用msmq或SQL Server Service Broker来处理这些系统之间的通信——至少当涉及到将订单存储到订单管理系统的Web商店或将技术数据发送到技术数据库系统的订单管理系统时。

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

    但最大的问题是:msmq还是服务代理??这三个系统都是基于Windows和.NET的,并且已经在三个独立的服务器上使用了SQL Server。

    有没有人有确凿的、真实的事实来支持(或反对)这两种技术中的一种?你对这两套技术的真实体验是什么?利弊。如果你可以从头开始-你会选择哪一个?或者你会选别的(什么?)完全?

    1 回复  |  直到 15 年前
        1
  •  6
  •   mharr    15 年前

    在不同的情况下,我都用得很好。我的偏好非常基本:如果消息发送事件是由数据库事件触发的,请使用SQL Service Broker;如果事件是在代码中的,请使用消息队列。这种偏好只是基于在触发事件的同一平台上更容易设置。

    推荐文章