【发布时间】:2019-11-09 15:59:09
【问题描述】:
我正在学习spring webflux,我已经阅读了以下系列文章(first,second,third)
在第三篇文章中,我遇到了以下文字:
请记住,相同的应用程序代码在 Tomcat、Jetty 或 Netty 上运行。 目前,Tomcat 和 Jetty 支持是在 Servlet 之上提供的 3.1 异步处理,所以限制为每个线程一个请求。当相同的代码在 Netty 服务器平台上运行时, 约束解除,服务器可以分派请求 同情网络客户端。只要客户不 块,每个人都很高兴。 netty 服务器的性能指标和 客户端可能表现出类似的特征,但 Netty 服务器是 不限于每个线程处理一个请求,所以它 不使用大型线程池,我们可能希望看到一些 资源利用的差异。我们稍后再谈 在本系列的另一篇文章中。
首先我看不到该系列中较新的文章,虽然它是在 2016 年写的。我很清楚,tomcat 默认有 100 个线程用于处理请求,一个线程同时处理一个请求,但我不明白这句话每个线程只能请求一个是什么意思?
我还想知道 Netty 在具体案例中是如何工作的(我想了解与 Tomcat 的区别)。每个线程可以处理 2 个请求吗?
【问题讨论】:
-
我认为这是一个错字,它将 Servlet 3.0 异步和 Servlet 3.1 非阻塞 I/O 混为一谈。我会联系作者解决这个问题。
-
@Brian Clozel 但无论如何我有点搞砸了,我想请你提供一个正确的文本,只是因为我不明白短语 它仅限于每个线程一个请求 与 servlet 3.0 相关 从我目前的设想来看,它与 servlet 2.5 而不是 3+ 相关
-
文章正在修复中
-
@Brian Clozel 太棒了!!!我联系了合适的人)世界是如此之小
标签: java tomcat netty spring-webflux nonblocking