|
|
1
55
Servlet异步模型在容器线程(1个Servlet请求/线程模型)和应用程序中的请求处理之间引入了异步边界。处理可以在不同的线程上进行,也可以等待。最后,您必须调度回容器线程,并以阻塞方式进行读/写(
使用非阻塞代码,您只需要几个线程即可同时处理大量请求。这是一个不同的并发模型;与任何模型一样,它也有好处和权衡。 有关该比较的更多信息,请参阅 Servlet vs. Reactive stacks talk |
|
|
2
9
Servlet API正在阻止I/O,每个HTTP请求需要1个线程。Spring MVC async依赖于Servlet API,该API仅提供容器线程和请求处理线程之间的异步行为,而不是端到端。 另一方面,Spring WebFlux通过使用HTTP套接字并通过套接字一次推送数据块,通过固定数量的线程实现并发。这种机制称为 事件循环 节点。js公司 . 这种方法具有可扩展性和弹性。Spring 5的Spring webflux使用 事件循环 提供异步行为的方法。 更多信息可从 |