【蓝因子教育】Spring Boot 2.0 WebFlux

了解 WebFlux , 首先了解下什么是 Reactive Streams。Reactive Streams 是 JVM 中面向流的库标准和规范:

  • 处理可能无限数量的元素
  • 按顺序处理
  • 组件之间异步传递
  • 强制性非阻塞背压(Backpressure)

Backpressure (背压)

背压是一种常用策略,使得发布者拥有无限制的缓冲区存储元素,用于确保发布者发布元素太快时,不会去压制订阅者。

Reactive Streams(响应式流)

一般由以下组成:

  • 发布者:发布元素到订阅者
  • 订阅者:消费元素
  • 订阅:在发布者中,订阅被创建时,将与订阅者共享
  • 处理器:发布者与订阅者之间处理数据

响应式编程 有了 Reactive Streams 这种标准和规范,利用规范可以进行响应式编程。那再了解下什么是 Reactive programming 响应式编程。响应式编程是基于异步和事件驱动的非阻塞程序,只是垂直通过在 JVM 内启动少量线程扩展,而不是水平通过集群扩展。这就是一个编程范例,具体项目中如何体现呢?

响应式项目编程实战中,通过基于 Reactive Streams 规范实现的框架 Reactor 去实战。Reactor 一般提供两种响应式 API :

  • Mono:实现发布者,并返回 0 或 1 个元素
  • Flux:实现发布者,并返回 N 个元素

Spring Webflux

Spring Boot Webflux 就是基于 Reactor 实现的。Spring Boot 2.0 包括一个新的 spring-webflux 模块。该模块包含对响应式 HTTP 和 WebSocket 客户端的支持,以及对 REST,HTML 和 WebSocket 交互等程序的支持。一般来说,Spring MVC 用于同步处理,Spring Webflux 用于异步处理。

Spring Boot Webflux 有两种编程模型实现,一种类似 Spring MVC 注解方式,另一种是使用其功能性端点方式。注解的会在第二篇文章讲到,下面快速入门用 Spring Webflux 功能性方式实现。

今日霍州(www.jrhz.info)©️

特别声明:[【蓝因子教育】Spring Boot 2.0 WebFlux] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

这一次,寇振海仅用一句话,意外暴露了爷孙恋的尴尬处境(寇振海记忆中的那些年小品)

他在外界是一位兢兢业业的演员,但在自己儿子面前,却常常感到有些卑微。因为在儿子刚出生时,寇振海正忙于拍戏,妻子独自一人承担起了抚养孩子的责任。等到儿子18岁时,他的身高早已超过父亲,甚至在许多方面,他都感到自…

这一次,寇振海仅用一句话,意外暴露了爷孙恋的尴尬处境(寇振海记忆中的那些年小品)

国产片流量新密码,三个字(国产在线量新2020)

马伯庸在小说后记中提到,自己在读史书时总会忍不住想象从基层官员视角看到的历史事件是什么样的,“上头一道命令,下面的人得忙活上半天”,这才有了李善德的故事。1936年,卓别林的影片《摩登时代》里,普通人查理在工…

国产片流量新密码,三个字(国产在线量新2020)

『杨洋』:山海赴新章,开年皆惊喜(『杨洋』2022共赴蓝海)

趁着 COSMO 封面预告的新鲜暖意,再细细回味『杨洋』《悦游 Condé Nast Traveler》2026开年刊的完整封面与内页文字,这本开年刊物的诚意,藏在每一处看得见的细节里。 封面取景于温哥华斯坦…

『杨洋』:山海赴新章,开年皆惊喜(『杨洋』2022共赴蓝海)

工业级防护,7x24小时无休——汉源高科16通道LED大屏光纤收发器如何挑战极端环境(工业级防护服和医疗级防护服)

汉源高科16通道LED大屏光纤收发器HY5700-52216X-LC20AB的工业级防护设计,确保了设备在极端环境下的7x24小时稳定运行,为以下关键任务场景提供了可靠保障: 汉源高科16通道LED大屏光…

工业级防护,7x24小时无休——汉源高科16通道LED大屏光纤收发器如何挑战极端环境(工业级防护服和医疗级防护服)

孕晚期贫血吃啥好 医生推荐这些“补血能手” 宝妈收藏(孕晚期贫血吃啥补血最快最好)

  孕晚期是胎儿生『长发』育的关键阶段,此时母体对铁、叶酸等造血营养素的需求大幅增加,若摄入不足或吸收不良,容易引发贫血。孕晚期贫血不仅可能导致孕妇出现乏力、头晕、心慌等不适,还可能影响胎儿的生『长发』育和出生后的健康。孕晚期贫血吃什么补血快?及时

孕晚期贫血吃啥好 医生推荐这些“补血能手” 宝妈收藏(孕晚期贫血吃啥补血最快最好)