springboot 学习之路 17(webflux 入门 (1))
Webflux:
webflux是在springboot2系列引入的技术:补充一些概念:
1> Reactive Streams 是 JVM 中面向流的库标准和规范:
处理可能无限数量的元素
按顺序处理
组件之间异步传递
强制性非阻塞背压(Backpressure)
2> Backpressure(背压):背压是一种常用策略,使得发布者拥有无限制的缓冲区存储元素,用于确保发布者发布元素太快时,不会去压制订阅者。
Reactive Streams(响应式流)
一般由以下组成:
发布者:发布元素到订阅者
订阅者:消费元素
订阅:在发布者中,订阅被创建时,将与订阅者共享
处理器:发布者与订阅者之间处理数据
3> 响应式编程
响应式项目编程实战中,通过基于 Reactive Streams 规范实现的框架 Reactor 去实战。Reactor 一般提供两种响应式 API :
Mono:实现发布者,并返回 0 或 1 个元素
Flux:实现发布者,并返回 N 个元素
4> Spring Webflux(基于 Reactor 实现)【重点】
WebFlux 特性:
响应式 API
编程模型
适用性
内嵌容器
Starter 组件
5>Spring Boot 2.x 常用的 Starter 组件有哪些呢?
Spring Boot 2.0 WebFlux 组件:
Spring Boot WebFlux 官方提供了很多 Starter 组件,每个模块会有多种技术实现选型支持,来实现各种复杂的业务需求:
Web:Spring WebFlux
模板引擎:Thymeleaf
存储:Redis、MongoDB、Cassandra,不支持 MySQL
内嵌容器:Tomcat、Jetty、Undertow
6> springboot的webflux内嵌的是netty服务器
webmvc和webFlux:
webflux项目搭建:
第一步:创建项目骨架 :
第二步:创建handler:
第三步:创建router:
第四步:启动项目测试:(启动是netty)
到这,webflux项目搭建完成,并测试通过,这只是简单介绍,并没有深入介绍webflux,下一章会详细介绍
本文来自博客园,作者:huhy,转载请注明原文链接:https://www.cnblogs.com/huhongy/p/9481163.html