spring-210730-01—Spring5新功能-Webflux-基本概念
SpringWebFlux介绍
WebFlux官方文档说明地址:
https://docs.spring.io/spring-framework/docs/current/reference/html/web-reactive.html
SpringWebFlux介绍:
1)是Spring5中新添加的模块,用于web开发,功能和SpringMVC类似,
Webflux是使用当前比较流行的 响应式编程 而出现的框架。
2)传统web框架,比如SpringMVC,这些基于Servlet容器,
而Webflux是一种异步非阻塞的框架,异步非阻塞的框架在Servlet3.1以后才支持,核心是基于Reactor的相关API实现的。
异步非阻塞解释
异步非阻塞解释:
异步和同步,非阻塞和阻塞,都是针对对象不一样。
异步和同步针对调用者,
调用者发送请求之后,
如果等着对方回应之后才去做其他事情,就是同步,
如果不等对方回应,就去做其他事情,就是异步。
非阻塞和阻塞针对被调用者,
被调用者接收到请求之后,
做完请求之后才给出反馈,就是阻塞,
收到请求之后立即给出反馈,再去做事情,就是非阻塞。
WebFlux特点
WebFlux特点:
1) 非阻塞式,在有限的资源下,提高系统吞吐量和伸缩性,以Reactor为基础响应式编程。
2) 函数式编程,Spring5框架基于java8,Webflux可以使用Java8函数式编程方式,来实现路由请求。
比较SpringMVC
比较SpringMVC:
1) 都可以使用注解方法,都运行在Tomcat等容器中
2) SpringMVC采用命令式编程(也就是一步一步的执行),Webflux采用异步响应式编程。