响应式编程简介

响应式编程入门

Reactor 3 是一个围绕该规范构建的库,将响应式编程Reactive Streams范式引入JVM。
在本课程中,你将熟悉 Reactor API。那么,让我们快速介绍一下响应式流和响应式编程中更通用的概念。

为什么


响应式编程是一种新的编程范式,它使用声明式代码(类似于函数式编程)来构建异步处理管道。它是一种基于事件的模型,数据一旦可用就会被推送给消费者:我们处理的是异步事件序列。

这样做很重要,可以更有效地利用资源,提高应用程序服务大量客户端的能力,而无需编写底层并发和/或并行代码。
响应式编程以完全异步非阻塞为核心支柱,是 JDK 中实现异步代码的更有限方式(即基于回调的 API)的替代方案Future
它还有助于代码组合,从而使异步代码更易读、更易维护。

Reactive Streams


Reactive Streams规范是由业界推动的,旨在规范 JVM 上的响应式编程库,更重要的是,它明确规定了这些库的行为方式,以确保它们之间的互操作性。实现者包括 Reactor 3,以及 RxJava 2 及更高版本、Akka Streams、Vert.x 和 Ratpack。
它包含 4 个非常简单的接口以及一个 TCK,这一点不容忽视,因为规范的规则才是它最有价值的地方。
然而,从用户角度来看,它的底层架构相当薄弱。Reactor 3 旨在提供一个更高级别的 API,以便在更广泛的场景下使用,它基于 Reactive Streams 构建Publisher

互动


在响应式流序列中,数据源Publisher会生成数据。但默认情况下,它不会执行任何操作,直到某个服务Subscriber注册(订阅)后,才会 向其推送数据。
PublisherSubscriber
Reactor 引入了操作符的概念,这些操作符串联起来,描述了在每个阶段对数据应用的处理方式。应用一个操作符会返回一个新的中间体 Publisher(实际上,它可以被视为上游操作符的订阅者,以及下游操作符的发布者)。最终的数据形式会进入最终状态,Subscriber 该状态定义了从用户角度出发应该执行的操作。
原文:https://tech.io/playgrounds/929/reactive-programming-with-reactor-3/Intro
源码:github gitee

posted @ 2025-11-10 17:53  bigroc  阅读(13)  评论(0)    收藏  举报