首頁  >  問答  >  主體

RxJava在服务端是否有使用场景和优势?

目前看到绝大多数的Rxjava教程都是在Android上使用的,那在Java服务端呢?Rxjava是否有其应用场景和优势。

PHP中文网PHP中文网2741 天前666

全部回覆(2)我來回復

  • 黄舟

    黄舟2017-04-17 17:34:37

    有啊,可以用subject來監視資料更新快取

    回覆
    0
  • 阿神

    阿神2017-04-17 17:34:37

    Hystrix使用RxJava簡潔的window API來建立metric應該算是一種不錯的後端使用場景吧.

    說實話, RxJava雖然很酷, 但服務端使用RxJava的優勢真心很少.

    主要的原因還是大多數的Java服務端還是以同步邏輯為主, 遷移成本太高了.
    RxJava的響應式優勢只有在異步邏輯占主導時才會體現出來. 異步和同步的夾雜使用, 還不如整體使用NodeJS的非同步處理協調.

    其次, RxJava一大堆的資料處理API對習慣了同步邏輯的程式設計師來說, 學習成本也是相當高的.

    再加上後端的類別庫大多都是同步的API, 相容RxJava的API的類別庫寥寥無幾.

    所以基於RxJava的後端類別庫也是少之又少.

    目前後端基於RxJava構建的最著名的類別庫是Hystrix, 它提供的API也是透過Command模式來作為同步的方式來呼叫.外部呼叫者無需關心內部的RxJava實現. 這樣做應該也是為了降低使用者學習成本吧.

    兼容RxJava API的rxjava-jdbc, 雖然使用起來代碼會簡潔不少, 但現在的項目已經很少直接使用jdbc了, 也是英雄無用武之地.


    如果想在後端使用響應式程式設計的話. 不妨看看vertx, 它基本用自己的響應式打通了後端的各個環節, 它規劃的技術棧還是很全面,基本上覆蓋到後端開發的功能.

    回覆
    0
  • 取消回覆