官方口水话简短翻译:
Spring WebFlux是一个非阻塞的Web框架,用于利用多核,短时间可一处理大量并发连接。
非阻塞式
在servlet3.1提供了非阻塞的API,WebFlux为之有自己的一套手段,
使用非阻塞的方式可以利用较小的线程或硬件资源来处理并发
函数式编程端点
Spring5必须配备java8,函数式编程就是java8重要的特点之一,
WebFlux支持函数式编程来定义路由端点处理请求。
创建一个Spring Boot项目,版本要求2.0以上,需要下面的依赖,Spring Reactive Web 替代了Web依赖
看看我们的处理器:Controller
抽一个方法出来,待会儿会使用到,这个方法假如就是我们一个比较耗时的逻辑操作
然后看我们的处理器 @Slf4j @RestController
我们定义了两个处理器,一个就是普通的处理器,一个是使用了WebFlux的处理器,
然后我们观察我们的控制台日志情况:
...
有没有发现什么一样,当然我们的页面都是一样的,需要在五秒后才会有结果,但是你观察控制台
发现下面那个打印的时间间隔很短有没有,并没有像上面那个一样等待五秒才打印
下面使用WebFlux的请求的耗时操作没有阻塞处理器的执行,也就是说耗时没能影响到处理器,
这样的话,处理器就可以同时接很多请求了,反正也不会堵塞,
虽然对于请求的响应页面数据来看,没有任何差别,但是对于处理器来说,其吞吐量将会大大提高
原文:https://www.cnblogs.com/msi-chen/p/10982604.html