Reactor学习笔记
1 Reactor簡介
Reactor是一個用于JVM的完全非阻塞的響應式編程框架,具備高效的需求管理能力。與Java8函數式API直接集成(CompletableFuture,Stream以及Duration)。它提供了異步序列API Flux(用于N個元素)和Mono(用于0|1個元素)。適用于微服務架構,并且完整支持響應式編解碼。
2 響應式編程
Reactor是響應式編程范式的實現。
響應式編程通常作為面向對象編程中的觀察者模式的一種擴展。
Reactor主要是彌補一些經典的JVM異步方式所帶來的不足,此外還關注幾個方面:
- 可編排性以及可讀性
- 使用豐富的操作符阿里處理形如流的數據
- 在訂閱(subscribe)之前什么都不會發生
- 背壓(backpressure)具體來說就是消費者能夠反向告知生產者生產內容的速度的能力
- 高層次的抽象,從而達到并發無關的效果
3 Reactor核心特性
3.1 Flux,包含0-N個元素的異步序列
Flux<T>是一個能夠發出0到N個元素的標準的Publisher<T>,它會被一個”error”或者“completion”信號終止,因此,一個flux的可能結果是一個value、completion或error。
3.2 Mono,異步的0-1結果
Mono<T>是一種特殊的Publisher<T>,它最多發出一個元素,然后終止于一個onComplete信號或一個onError信號。
它只適用其中一部分可用于Flux的操作。比如,(兩個Mono的)結合類操作可以忽略其中之一而發出另一個Mono,也可以將兩個都發出,對于后一種情況會切換為一個Flux。
本文基于:https://htmlpreview.github.io...://github.com/get-set/reactor-core/blob/master-zh/src/docs/index.html#flux
推薦寫的比較好的一篇文章:https://www.jianshu.com/p/7ee...
總結
以上是生活随笔為你收集整理的Reactor学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Zookeeper详细参数解析zoo.c
- 下一篇: Netty和RPC框架线程模型分析