跳到主要内容

Reactor Core 特性

Doubao 中英对照 Reactor Core Features

Reactor 项目的主要产物是 reactor-core,这是一个聚焦于 Reactive Streams 规范、面向 Java 8 的响应式库。

Reactor 引入了可组合的响应式类型,这些类型实现了 Publisher,同时提供了丰富的操作符词汇:Flux 和 Mono。一个 Flux 对象表示由 0..N 个元素构成的响应式序列,而一个 Mono 对象表示一个单值或空(0..1)的结果。

这种区分向类型本身携带了一点语义信息,表明异步处理的大致基数。例如,一个 HTTP 请求只产生一个响应,因此做 count 操作没有多大意义。将这样一次 HTTP 调用的结果表达为 Mono<HttpResponse>,比表达为 Flux<HttpResponse> 更合理,因为它只提供与零个元素或一个元素的上下文相关的操作符。

会改变处理最大基数的操作符,也会切换到相应的类型。例如,count 操作符存在于 Flux 中,但它返回一个 Mono<Long>。

本节小结​