我正在使用具有點對點MQ通信的傳輸層的現有應用程序。MQ發佈/訂閱領域特定的接口通常比點對點更快嗎?
對於給定的每個帳戶列表,我們需要檢索一些信息。
目前,我們有這樣的事情與MQ進行通信:
responseObject getInfo(requestObject){
code to send message to MQ
code to retrieve message from MQ
}
正如你所看到的,我們等待,直到它徹底進行下一個帳戶之前完成。 由於性能問題,我們需要對其進行修改。
我現在有兩種可能的情況。
1)在一個應用程序中創建一組線程來爲每個帳戶執行傳輸適配器。然後從每個任務獲取數據。我更喜歡這種方法,但是一些團隊成員認爲傳輸層對於這種改變是一個更好的地方,我們應該在MQ上而不是我們的應用上額外加載。
2)返修傳輸層使用發佈/訂閱模型。 理想我想是這樣的:
void send (requestObject){
code to send message to MQ
}
responseObject receive()
{
code to retrieve message from MQ
}
然後,我將只發送請求的循環,後來檢索數據的循環。這個想法是,當第一個請求正在被後端系統處理時,我們不必等待響應,而是發送下一個請求。
我的問題是,它會比目前的順序檢索快很多嗎?
選項#2與pub/sub無關。您可以像使用主題一樣輕鬆地將其實現爲隊列。 – mqrus 2011-05-18 18:36:04