2010-10-18 42 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