2009-04-21 71 views
0

我正在嘗試創建一個反饋系統,將所有消息發佈到發佈回正確的子系統。我們正在安靜地使用隊列,並且希望使用戶代碼儘可能乾淨。我想根據消息ID切換到反饋系統併發布給其特定訂戶。我不想爲每個訂閱者提供服務來收聽消息..我想我可以爲每個訂閱者設置一個隊列並觸發調用com +組件..但是我正在尋找更現代的方式。使用動態端點MSMQ實現訂閱者/發佈者系統

我正在調查NServiceBus,但似乎我需要爲每個偵聽系統(它使一個C#dll和調用一個方法少一點工作),我不需要做一個服務/可執行文件/ webservice,我不確定NServiceBus是否可以基於預加載的配置(從db加載)來處理動態端點。 WCF也是一個選擇..它可以確保處理動態端點。

您認爲最佳的解決方案是租賃的代碼量/可縮放的新系統訂閱嗎?

感謝

回答

2

看來你正在尋找一個服務主機,而不是消息代理。如果是這樣,微軟推薦的方法是在IIS中託管你的WCF服務。他們仍然可以使用MSMQ作爲傳輸,但服務本身將由IIS管理。從早期開始,IIS已經發展成爲HTTP服務器,現在它更接近於應用服務器,它具有傳輸(TCP,MSMQ,HTTP),池化,激活,終生策略等選擇。

雖然我發現WCF + MSMQ + IIS有點過於複雜,這是你在微軟領域付出的代價。

對於漂亮且簡單的消息代理,您可以使用Active MQ而不是MSMQ,它會爲您提供消息代理以及pub/sub。在.NET中使用它很容易,請檢查以下鏈接:http://activemq.apache.org/nms/

相關問題