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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容