2017-04-06 37 views
2

我們需要處理從數據庫到微軟產品的數百萬條記錄。提高Mule ESB的性能,每個流程都有多個流程參考

在我們的流程中,我們調用多個流程並在每個流程中使用每個流程。 而我們需要順序過程,因爲我們在另一個流量請求中使用了一個流量響應。

我們不需要使用批處理。

有什麼辦法來提高性能和處理這種流動更快

回答

0

加快的過程是這樣的,使這部分異步的最好方法。我會這樣做的方式是讀取每個輸入記錄(使用Mule數據庫組件的流媒體功能)並將其放到JMS隊列中。然後有另一個流從隊列中讀取並處理該記錄,按順序爲每個記錄調用每個處理流,但一次處理多個記錄。然後可以使用JMS連接設置來配置吞吐量。

如果一個記錄的處理取決於處理前一個記錄的結果,那麼您將被困在當前的順序處理中,因此您需要重新構建解決方案並嘗試刪除該需求。

+0

不知道JMS如何在性能上有所幫助,因爲您將增加延遲......如果有足夠的內存,我猜想本地ObjectStore或VM隊列將是更好的解決方案 –

+0

每個單獨的記錄需要更長的時間,但通過運行多個併發將會更快。使用VM隊列可以實現同樣的效果,但使用JMS可以爲您提供JMS服務器的所有其他優勢,例如持久消息,服務器上當前消息的可見性,分佈式處理等。 –

相關問題