2014-08-28 64 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

相关问题