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

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。