【问题标题】:WCF Data Services and MSMQWCF 数据服务和 MSMQ
【发布时间】:2012-03-16 22:28:07
【问题描述】:

我有一个包含 Order 表的数据库。我正在尝试为我们的客户创建一个 API,以便他们可以操作 Order 表中的数据。我选择走 WCF 数据服务的路线,以便客户端可以通过 URI 执行 CRUD 操作。

但是,我需要确保此 WCF 数据服务是可扩展的,并且可以处理来自多个客户端的大量请求(1000 个)。我已经研究过将 MSMQ 与 WCF 数据服务一起使用,但查看以下链接似乎是不可能的 - Can we use msmq messaging with wcf data service.

我的解决方法是当客户端尝试操作数据(而不是选择)时,我们将请求添加到 MSMQ,而不是等待将更改保存到数据库。这是通过覆盖 ORM 中的 SaveChanges() 方法并提取更改,将它们序列化到 MSMQ 中然后返回到客户端来完成的。然后,一个单独的线程将从 MSMQ 中提取对象,然后将更改保存到 db。

这一切看起来都很好,但是我如何通知客户其请求已被处理或出错。有什么想法吗?

【问题讨论】:

    标签: msmq wcf-data-services


    【解决方案1】:

    通常同步操作的任何离线处理都会导致此问题。

    这是实现 CQRS 模式时面临的问题之一,它试图解耦读写操作。这被称为最终一致性。

    实际上有许多不同的技术可以解决这个问题 - 看看这些链接:

    CQRS - Eventual Consistency

    GUI recommandations for eventual consistency?

    【讨论】:

      猜你喜欢
      • 2011-01-10
      • 1970-01-01
      • 1970-01-01
      • 2015-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-28
      • 2013-12-20
      相关资源
      最近更新 更多