我正在研究一個應用程序,該應用程序可能會在客戶端上以相當嚴格的循環生成數千條消息,以便在服務器上進行處理。事件鏈如下:消息隊列和服務總線的消息粒度
- 客戶端處理項目,放置在本地隊列中。
- 本地隊列處理選取消息並調用Web服務。
- Web服務在服務器上的服務總線中創建消息。
- 服務總線處理消息到數據庫。
這個想法是所有的通信都是異步的,因爲會有很多web服務的客戶端。我知道MSMQ可以直接做到這一點,但我們並不總是有這樣的管理功能在客戶端設置安全等東西。
我的問題是關於在每個階段的消息的粒度。最簡單的方法將意味着客戶端上處理的每個項目都會生成一個客戶端消息/ Web服務調用/服務總線消息。這很好,但我知道如果可能的話,Web服務調用會更好,除非大粒度Web服務DTO與數據庫上的短期運行之間存在權衡。這種特殊的場景並不需要一個「業務事務」,其中處理全部或不處理任何項目,我只是希望實現消息大小與Web服務調用數量與數據庫事務數量的最佳平衡。
有什麼建議嗎?
X2 - 超級答案! – mwjackson 2009-10-23 15:18:02