首页  >  问答  >  正文

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

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

PHP中文网PHP中文网2741 天前662

全部回复(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
  • 取消回复