Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

        

联系锋哥QQ:3320160706

AI编程,程序员挑战年入30~100万高级指南 - 职业规划

Java、Python项目定制找Java1234_小锋老师,专业又靠谱 QQ:3320160706

Java、Python毕设辅导找Java1234_小锋老师,专业又靠谱 QQ:3320160706
当前位置: 主页 > Java文档 > Java基础相关 >

为什么越来越多人开始使用 WebFlux ?


时间:2026-07-27 21:27来源:http://www.java1234.com 作者:小锋  侵权举报
为什么越来越多人开始使用 WebFlux ?
失效链接处理
为什么越来越多人开始使用 WebFlux ?

 
 
相关截图:
 


主要内容:

先说说背景:WebFlux 从哪来?
如果你做 Java 后端,大概率用过 Spring MVC——它基于 Servlet,写法直观,生态成熟,是 Spring 最早自带的 Web 框架。
 
但从 Spring 5 开始,Spring 又推出了 Spring WebFlux,专门面向「响应式、非阻塞」场景。它和 Spring MVC 并存,模块名分别叫 spring-webmvc 和 spring-webflux,你可以只用其中一个,也可以在同一个项目里混用(比如 MVC 控制器配合响应式的 WebClient)。
 
主要有下面两方面因素:
 
需要一套真正非阻塞的 Web 技术栈Servlet 虽然后来支持了非阻塞 I/O,但 Filter、Servlet 等 API 本质上还是同步/阻塞的。要彻底走非阻塞路线,就需要新的底层 API。Netty 这类服务器在异步领域已经很成熟,WebFlux 正好搭在这上面。
 
Java 8 带来的函数式编程Lambda 表达式让「声明式组合异步逻辑」变得自然。WebFlux 因此除了注解式控制器,还提供了函数式路由这种更轻量的写法。


什么是「响应式」?
首先介绍下响应式,其实可以拆成两个日常感受:
 
第一,是「有事再做,别干等着」。传统写法里,线程去调远程接口,往往就卡住等结果。响应式写法里,线程发出请求后先去干别的,等数据到了再回来处理——就像你点外卖后不会站在门口傻等,而是继续刷手机。
 
第二,是「背压(Back Pressure)」。生产数据太快、消费跟不上时,需要一种机制让下游告诉上游:慢点,我吃不消了。Reactive Streams 规范(Java 9 也纳入了)就是干这个的。Spring WebFlux 底层依赖 Reactor,提供了 Mono(0 或 1 个结果)和 Flux(0 到 N 个结果)两种类型,写异步流水线很方便。


 

------分隔线----------------------------


锋哥推荐