介绍Webflux

介绍Webflux

关于WebFlux

咱们知道传统的Web框架,好比说:struts2,springmvc等都是基于Servlet API与Servlet容器基础之上运行的,在Servlet3.1以后才有了异步非阻塞的支持。而WebFlux是一个典型非阻塞异步的框架,它的核心是基于Reactor的相关API实现的。相对于传统的web框架来讲,它能够运行在诸如Netty,Undertow及支持Servlet3.1的容器上,所以它的运行环境的可选择行要比传统web框架多的多。java

  根据官方的说法,webflux主要在以下两方面体现出独有的优点:web

非阻塞式

    其实在servlet3.1提供了非阻塞的API,WebFlux提供了一种比其更完美的解决方案。使用非阻塞的方式能够利用较小的线程或硬件资源来处理并发进而提升其可伸缩性spring

函数式编程端点

    老生常谈的编程方式了,Spring5必须让你使用java8,那么函数式编程就是java8重要的特色之一,而WebFlux支持函数式编程来定义路由端点处理请求。编程

flux 真的能让业务请求响应更快吗?并不以为。(我的见解)

传统mvc:并发

主线程接收到request --> 【准备数据(时间长)】--> 给用户返回数据。
整个过程是单线程阻塞,因此用户感受等待时间长。

flux是异步模式:mvc

主线程在接收到request --> 马上返回

(因此性能测试出来的响应时间是很短,是个不变的常数,不随用户数量增长变化)框架

相关文章
相关标签/搜索