Java Spring5和反应式编程
我注意到Spring框架在Spring5.0版本中引入了反应堆栈,它是基于和构建的。我很想知道,如果有人知道这些信息,为什么他们会选择project reactor,而这似乎是一个更好的选择(广泛使用,伟大的社区,更长的历史,通常意味着更少的bug,实现反应流规范,等等)。reactor已经运行了几年了——它不像你说的那么年轻。它也符合反应流规范AFAIK,因此没有区别 话虽如此,这里使用反应堆可能有政治和技术两方面的原因 从政治上讲,Spring和Reactor都是关键项目,而RxJava则不是 然而,从技术上讲,RxJava的最大优点和缺点,取决于您如何看待它,是它支持比Java8更旧的版本。如果您想以Java 6为目标,这很好,但是如果您只以Java 8为目标,那么它会带来一些开销和重复(因为这意味着RxJava不能使用任何新的内置Java 8类,例如Java Spring5和反应式编程,java,spring,reactive-programming,Java,Spring,Reactive Programming,我注意到Spring框架在Spring5.0版本中引入了反应堆栈,它是基于和构建的。我很想知道,如果有人知道这些信息,为什么他们会选择project reactor,而这似乎是一个更好的选择(广泛使用,伟大的社区,更长的历史,通常意味着更少的bug,实现反应流规范,等等)。reactor已经运行了几年了——它不像你说的那么年轻。它也符合反应流规范AFAIK,因此没有区别 话虽如此,这里使用反应堆可能有政治和技术两方面的原因 从政治上讲,Spring和Reactor都是关键项目,而RxJava则不
可选,函数,等等)
另一方面,Reactor仅限于Java8+,因此它可以充分利用新的Java8本机类。由于Spring5.0也是仅限于Java8+的,这意味着Reactor在这方面具有优势。基本上所有的反应式API都是基于reactivestreams构建的。这是一个非常小的软件包,它简单地标准化了如何使用流连接发布者和订阅者。同意@MichaelBerry的观点——也就是说,最本质的区别是Java版本。其次,尽管反应堆可以不用弹簧使用,但它与弹簧的集成非常好。如果您使用的是Spring,那么选择提供的API是有意义的,因为它将继续受到支持,可能会带来更好的性能。此外,由于该反应堆得到了关键技术的支持,它有着非常光明的前景。