目录
- 前言
- 反应式编程简介
- 阻塞可能会浪费资源
- 使用异步来解决?
- 回调地狱的例子
- 与回调代码等效的Reactor代码示例
- 具有超时和回退的Reactor代码示例
- CompletableFuture组合的例子
- 与未来代码等效的Reactor代码示例
- 从命令式到反应式编程
- 可组合性和可读性
- 类比装配线工作流程
- 操作符(运算符)
- 在你订阅之前什么都不会发生
- 背压
- 热与冷
前言
前一篇分析了Spring WebFlux的设计及实现原理后,反应式编程又来了,Spring WebFlux其底层还是基于Reactive编程模型的,在java领域中,关于Reactive,有一个框架规范,叫【Reactive Streams】,在java9的ava.util.concurrent.Flow包中已经实现了这个规范。其他的优秀实现还有Reactor和Rxjava。在Spring WebFlux中依赖的就是Reactor。虽然你可能没用过Reactive开发过应用,但是或多会少你接触过异步Servlet,同时又有这么一种论调:异步化非阻塞io并不能增强太多的系统性能,但是也不可否认异步化