【问题标题】:reactor-v1.x.x Vs reactor-v2.x.xreactor-v1.x.x 与 reactor-v2.x.x
【发布时间】:2014-08-28 06:51:58
【问题描述】:

我们正在评估反应堆库,以便在我们的项目中使用它。我们的项目得到了spring context的支持。所以我们需要一个工具来构建具有spring支持的事件驱动应用程序。

此外,我们主要关注的领域是组合异步事件序列(流和承诺)的能力。在某些其他用例中,我们可能需要发布者/订阅者模型或异步运行长时间运行的进程。

在评估时,我注意到以下一些最新发布的 reactor-spring 版本是 v1.1.3,依赖于我们可以使用的 reactor-v1.1.3。

但我也注意到有 reactor-v.2.0.0(正在开发中),它有很多变化,尤其是在 Streams 和 Promises 领域。

如果使用带有弹簧支持的 reactor-v1.1.3 是否是个好主意,或者如果我们必须使用更多 Streams 和 Promises,我们应该等待 reactor-v2.0,请建议我。

如果我们继续使用 reactor-v1.1.3.RELEASE 可能需要进行多少代码更改才能升级到 v2.0.0。

我还想检查我们是否有任何用于 reactor-v1.1.3/v1.1.4 的“反应器样本”分支。到目前为止,我只能看到一个可用的 master 分支,它已更新为使用 reactor-v2.0。

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

在哪里可以找到 reactor-core-2.0.0 代码库?我发现很难找到。

由于我是这个库的新手,如果我提到的任何观点/问题不正确,请随时纠正我。谢谢。

【问题讨论】:

    标签: reactor


    【解决方案1】:

    如果您要开始新的开发,一定要使用 Reactor 2.0。这主要是对StreamPromise API 的重大改进,导致不得不提高主要版本号。其余代码库的差异非常小。在 1.1 代码和 2.0 代码之间进行转换需要对包进行一些重命名,并在各处进行一些调整(例如在 Stream 1.1 中取消使用 Deferred 对象)。

    另一个证明重大点发布冲突的重大变化是Reactive Streams specification 的实现。进一步讨论它超出了这个问题的范围,但它是 Reactor 向前发展的重要组成部分。能够与 Akka Streams、Ratpack、RxJava 和其他已经(或即将)实现 Reactive Streams 的库进行本地集成,这对 Reactor 2.0 来说是一个巨大的好处。

    The reactive-streams branch 包含 Reactor 2.0 的代码。 M1 即将推出,我们将开始更新样本的过程,尽管您已经注意到,一些组件(如 Spring 支持)已经不得不升级到 Reactor 2.0,因为它们在一些主要的几乎生产应用程序中受到依赖.

    【讨论】:

    • 谢谢乔恩。你的回答非常有用。将开始研究使用 Reactor 2.0。
    猜你喜欢
    • 1970-01-01
    • 2021-07-29
    • 1970-01-01
    • 2011-05-12
    • 1970-01-01
    • 1970-01-01
    • 2017-12-16
    • 2021-11-23
    • 2013-04-02
    相关资源
    最近更新 更多