Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我有一个关于WebFlux行为的问题_Java_Spring_Reactor_Webflux - Fatal编程技术网

Java 我有一个关于WebFlux行为的问题

Java 我有一个关于WebFlux行为的问题,java,spring,reactor,webflux,Java,Spring,Reactor,Webflux,我不理解在使用WebFlux开发后端服务器时,有哪一部分内容被认为是一种优势 (**如果10个用户同时发出一个请求,那么它是在假设从RDB获取数据需要10秒,处理数据需要10秒的情况下编写的。) 当Spring MVC中总共需要10个线程,并且10个用户可以在每个线程20秒后收到响应时 在WebFlux中,用户请求可以通过总共1个线程接收,数据可以通过该线程请求到RDB,即使出现RDB响应,也可以对其进行处理并向用户提供响应 (以线程数为例进行粗略编写。) 最后,处理所需的时间总共是20秒,这与

我不理解在使用WebFlux开发后端服务器时,有哪一部分内容被认为是一种优势

(**如果10个用户同时发出一个请求,那么它是在假设从RDB获取数据需要10秒,处理数据需要10秒的情况下编写的。)

当Spring MVC中总共需要10个线程,并且10个用户可以在每个线程20秒后收到响应时

在WebFlux中,用户请求可以通过总共1个线程接收,数据可以通过该线程请求到RDB,即使出现RDB响应,也可以对其进行处理并向用户提供响应

(以线程数为例进行粗略编写。)

最后,处理所需的时间总共是20秒,这与现有的Spring MVC相同,但我知道使用较少的线程进行处理有一个优势

从上面的角度来看,我认为它有很多优势

许多文章说,使用WebFlux时,数据处理占用的内存更少,这是一个额外的优势

如上例所示,如果从RDB中提取并处理总共10个数据,并且发送给用户的结果是相同的10个,并且如果结果将作为单个Json而不是流类型交付

考虑到每个数据1兆字节,MVC还需要存储来自RDB的数据,因此10兆字节的内存和10兆字节的已处理数据总共需要20兆字节的内存

WebFlux也是从RDB导入的10兆数据和处理的10兆数据,所以最后不是20兆吗

或者,这是否意味着RDB可以一次检索10次数据,而不是一次检索10次数据,因此每次提取的1兆字节数据和10兆字节处理后的结果数据可以组合起来作为11兆字节处理?
(如果我要求总共10个这样的项目,我可以一次带一个吗?

内存使用较少是因为使用的线程较少,而不是因为通过的数据较少。当你创建一个线程时,即使它不做任何工作,它也会为自己分配一些内存。谢谢