ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java – Spring MVC(async)vs Spring WebFlux

2019-09-30 17:01:03  阅读:226  来源: 互联网

标签:spring-webflux java spring spring-mvc


我正在尝试了解Spring WebFlux.到目前为止我发现的东西都是反应核心,没有Servlet API,没有每个请求的线程,HTTP 2,服务器推送,应用程序/流json.

但是Spring MVC中的异步调用有什么区别?我的意思是在Spring MVC中,当你返回Future,DefferedResult等时,你会在一个单独的线程中执行请求处理程序(控制器方法)中的逻辑,因此你也可以从保存线程池资源以便调度请求中受益.

那么请你强调与此相关的差异吗?为什么WebFlux在这里更好?

非常感谢你的时间!

解决方法:

Servlet异步模型在容器线程(1 Servlet请求/线程模型)和应用程序中的请求处理之间引入了异步边界.处理可以在不同的线程上发生或等待.最后,您必须以阻塞方式调度回容器线程并进行读/写(InputStream和OutputStream本身就是阻塞API).

使用该模型,您需要许多线程来实现并发(因为许多线程可以被阻塞等待I / O).这会花费资源,可能需要权衡,具体取决于您的使用案例.

使用非阻塞代码,您只需要几个线程来同时处理大量请求.这是一个不同的并发模型;像任何模型一样,它带来了好处和权衡.

有关该比较的更多信息,应该对此Servlet vs. Reactive stacks talk感兴趣.

标签:spring-webflux,java,spring,spring-mvc
来源: https://codeday.me/bug/20190930/1836283.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有