第 11 章 Reactor 介绍

本章内容

  • 理解响应式编程
  • Reactor 项目
  • 响应式的操作数据

您是否曾经订阅过报纸或杂志?互联网已经大幅削减了传统出版物的用户群,但在某些时候,订阅报纸仍然是跟上时事的最佳途径之一。您可以每天清晨翻开送来的报纸,在早餐时或上班路上阅读。

现在假设您订阅并付费后,一连好几天都没有收到报纸。又过了几天,您打电话到报社询问,为什么还没有收到每天的报纸。试想一下,如果对方这样解释:"您订阅的是一整年的报纸,全年的报纸还没印完,但请放心,等全部印好后一定会送给您。"您会有多惊讶?

幸运的是,报纸订阅并不是这样运作的。报纸具有时效性,出版后会尽快投递,以确保读者收到时内容仍然是最新的。此外,当您正在阅读最新一期时,记者正在撰写后续报道,印刷机也在同步印刷下一期。

当我们开发应用程序时,有两种代码风格可以选择:命令式和响应式:

  • 同步式 代码类似于前面那个荒谬的报纸订阅场景。它是一系列串行任务,每次只运行一个,前一个完成后才执行下一个。数据以批量方式处理,在前面的任务完成整批数据处理之前,无法将工作移交给下一个任务。
  • 响应式 代码则类似于正常的报纸订阅。定义一组任务来处理数据,但这些任务可以并行运行。每个任务处理数据的一个子集,当它处理另一子集时,将已处理完成的数据交给下一个任务。

在本章中,我们将暂时离开 Taco Cloud 应用程序,探索 Reactor 项目。Reactor 是一个响应式编程库,属于 Spring 家族。由于它是 Spring 响应式支持的基础,在使用 Spring 构建响应式 controller 和 repository 之前,理解 Reactor 是很重要的一步。让我们先来快速了解响应式编程的要点。

results matching ""

    No results matching ""