我有一個應用程序通過WCF從許多其他應用程序接收數據。NService總線 - 獲取隊列上的所有掛起消息
我現在有客戶,也希望收到該數據的副本,但不同的客戶有不同的需求。
- 客戶A想爲我們調用Web服務送他的數據
- B客戶希望我們與
- 客戶C想成立自己的系統中的數據通過電子郵件將他這將輪詢我提供的Web服務以接收他的數據。
我一直想使用NServiceBus很長一段時間,它似乎是一個很好的應用程序。我想我可以通過設置端點將數據以他們期望的格式/協議傳送給他們來處理客戶A和B。客戶C雖然,我很掙扎。
我在NService總線上看到的所有示例都涉及訂閱隊列並在消息進入時觸發事件。我想我在這裏要做的是當客戶撥打他的數據時,我會抓住隊列中的所有消息併發送給他們。
我的問題是,這是NServiceBus的正確應用還是這是工作的錯誤工具?如果是這樣,那裏有沒有代碼示例可以告訴我如何處理客戶C?
我擔心這會成爲答案,因爲這意味着增加更多存儲等的複雜性,但它會完成工作。使用您提出的解決方案,我是否也會將NSB放在Web服務和持久性之間(在您的示例中爲s3),還是應該以「正常」同步方式構建它? – Brook 2011-04-01 13:12:30
每當客戶直接詢問數據時,只需以最簡單的方式將數據提供給他們,不必擔心將NServiceBus添加到混合中。此外,你現在可能會增加「複雜性」,但你確實不會 - 通過保持關注點分開來保持簡單。這有助於隨着您的成長保持您的架構清潔和可擴展。 – 2011-04-02 03:57:24
這可能應該是一個不同的問題,但有一個隊列,然後根據客戶(消息中的數據)切換交付機制,還是爲每個客戶建立一個單獨的隊列更好?我傾向於後者。 – Brook 2011-04-04 15:56:54