Reactor-Core VS RxJava

前言

    新版本的Reactor和Rx都实现了Reactive-Stream的接口规范,除了各自的API有所不同,框架设计思路都是以Publish和Subscribe为核心,所以模型都是一样的,其余的就是对开发者的支持。网上也有很多对比,也考虑了很久要不要写这么一篇文章,还是决定汇总那些优秀的,做一个小总结。

框架简介

  • Reactor:Reactor是Spring研发出来的一个响应式编程框架,背靠Spring爸爸。
  • RxJava:RxJava是由开源社区运作的一款流行响应式编程框架。

选择建议

  1. Reactor
    • 后端开发
    • Spring系列(reactor)
    • 基于Nio开发网关
  2. RxJava
    • Android前端开发
    • 基于Nio开发网关

背景对比

社区维护 Github Stars 多语言 Http客户端支持
Reactor Spring 3.1K Java Reactor-Netty
RxJava ReactiveX 43K RxJava、RxJS、RxGO(一堆) RxNetty

开发人员友好对比

Api Type-Safety Checked Exceptions Testing Debugging Spring Support Android Support Maturity Score
Reactor 1 0 0 1 1 1 0 0 4
RxJava 0 1 1 0 0 0 1 1 4

功能对比(深刻的意识到我只是一个搬运工)

Conclusion

     这篇文章的内容都是搬运的,其实我个人觉得没什么要对比的,简单来说,Springer选Reactor,Androider选RxJava(没得选)。
     用或者不用也是一个大话题,响应式编程让开发难度更大,对collaborator技术要求也高,至少要掌握用法吧,对排查问题也没那么方便,skywalking也没法跟踪TraceId,这些都是问题,但是在某些场景下,使用会很香哦。例如:IO

Reference

  • 八个层面比较Java8, RxJava, Reactor
  • RxJava VS Reactor

你可能感兴趣的:(Reactor-Core VS RxJava)