2014-08-28 79 views
2

我們正在評估在我們的項目中使用它的反應堆庫。我們的項目得到了春天的支持。所以我們需要一個工具來構建具有彈簧支持的事件驅動應用程序。reactor-v1.x.x Vs reactor-v2.x.x

此外,我們主要關注的領域是組合異步事件序列(流& Promises)的能力。在某些其他用例中,我們可能需要發佈者/訂閱者模型或異步運行長時間運行的進程。

正如我正在評估的那樣,我注意到以下一些最新發布的reactor-spring版本是v1.1.3,依賴於我們可以使用的reactor-v1.1.3。

但我也注意到有reactor-v.2.0.0(正在開發中),其中有很多變化,特別是在Streams和Promises領域。

如果用spring-support來支持reactor-v1.1.3是一個好主意,或者如果我們需要使用更多的Streams and Promises,我們是否應該等待reactor-v2.0。

如果我們繼續reactor-v1.1.3.RELEASE可能需要多少代碼更改才能升級到v2.0.0。

我也想檢查一下reactor-v1.1.3/v1.1.4中是否有'reactor samples'的分支。截至目前,我可以看到只有一個主分支可用,它已被更新爲使用reactor-v2.0。

我們是否有最新版本v1.1.4的reactor API?目前API(https://reactor.github.io/docs/api/)指向Reactor 1.1.0 Release。

哪裏可以找到reactor-core-2.0.0的代碼庫?我很難找到。

因爲我是這個圖書館的新手,請隨時糾正我,如果我提到的任何問題/問題是不正確的。謝謝。

回答

3

如果你正在開始新的開發,一定要去反應堆2.0。主要是StreamPromise API的實質性改進,導致必須衝擊主要版本號。代碼庫其餘部分的差異非常小。在1.1代碼和2.0代碼之間進行轉換需要對程序包進行一些重命名以及在這裏和那裏進行一些調整(如在Stream 1.1中不再使用Deferred對象)。

證明主要點釋放凹凸的另一個主要變化是執行Reactive Streams specification。討論這個問題超出了這個問題的範圍,但它是反應堆向前發展的一個重要部分。能夠與Akka Streams,Ratpack,RxJava和其他已經(或即將很快)實施Reactive Streams的庫本地集成對Reactor 2.0來說是一個巨大的好處。

The reactive-streams branch包含反應堆2.0的代碼。 M1即將推出,我們將開始更新樣本的過程,不過正如您已經注意到的那樣,一些組件像Spring支持已經不得不碰到Reactor 2.0,因爲它們依賴於一些主要的幾乎生產應用程序。

+0

謝謝Jon。你的回答非常有用。將開始研究使用Reactor 2.0。 – 2014-08-31 01:29:01