2014-01-23 39 views
0

我知道這裏有幾個帖子討論這個問題,但我無法弄清楚我的直接答案場景。MSMQ和不同服務器上的多個wcf服務從同一個隊列中讀取

可以說我有:

  1. 一個在服務器-A隊列,很多在
  2. 一個WCF服務來與NetMsmq在服務器-B指數從服務器A的隊列
  3. 結合消息非常相同的WCF服務部署到另一個服務器C具有相同的綁定讀取從服務器-A的隊列

我確保服務器B和服務器C上的服務永遠不會處理相同的消息è?

這個設置是否還有其他問題需要關注?

此設置與多個wcf服務從同一隊列讀取的目的是提高處理速度,我不想使用硬件負載均衡器。

謝謝你的時間!

回答

1

您需要使您的隊列事務處理,然後將綁定上的「準確的」屬性設置爲true。

參考: http://msdn.microsoft.com/en-us/library/system.servicemodel.msmqbindingbase.exactlyonce(v=vs.110).aspx

這應該照顧它。您可以讓多個閱讀器(WCF服務)從同一隊列中讀取。這基本上是一個負載均衡的概念,並且是基於隊列的消息傳遞的意圖。這裏是關於WCF和MSMQ的一些背景文檔。

http://msdn.microsoft.com/en-us/library/ms789048(v=vs.110).aspx

+0

感謝您的回覆。我看不出這會有什麼幫助,所提供的文檔(您的鏈接)對一個隊列中的多個閱讀器沒有提及,也沒有提到關於不同機器上的隊列和服務的任何內容? – jonnep

+0

我剛更新了我的答案以提供更多詳細信息。 –