目前看到绝大多数的Rxjava教程都是在Android上使用的,那在Java服务端呢?Rxjava是否有其应用场景和优势。
认证高级PHP讲师
有啊,可以用subject来监视数据更新缓存
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, 它基本用自己的响应式打通了后端的各个环节, 它规划的技术栈还是很全面,基本上覆盖到后端开发的功能.
有啊,可以用subject来监视数据更新缓存
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, 它基本用自己的响应式打通了后端的各个环节, 它规划的技术栈还是很全面,基本上覆盖到后端开发的功能.