我有一個有大量活動(大約40個)的系統。每個活動都可以調用服務或執行一些計算。這個系統是用Java編寫的。目前所有這些活動都是按順序執行的,整個過程大約需要2 - 3秒。我正在嘗試優化系統並嘗試減少延遲。我注意到一些活動具有數據依賴性,其中一些是獨立的。我試圖讓這些活動並行運行,同時還要維護具有數據依賴性的活動的順序。例如,假設通過「F」正被以此順序順序地執行活動「A」:Java中的異步開源工作流程軟件
A->B->C->D->E->F (Activities)
1 2 3 4 5 6 (Time Units)
假設由A產生的數據被用於由E和由B中產生的數據被用於由F和其餘的活動不依賴於任何其他數據。而不是按順序運行這些活動中,我應該能夠在這個順序平行運行它們 -
A->E
B->F
C
D
1 2 (Time)
因此,而不是6個時間單位,系統應能完成整個過程在2個時間單元。有沒有開源的Java框架可以用來處理這樣的工作流,並且一旦數據可用就可以無縫執行活動?
在我看來的所有者,這是難以維持。工作流引擎應該是風格上的聲明而不是命令式的。 –