spring web mvc和spring webflux有什么区别。哪个更好?
答案 0 :(得分:1)
Servlet异步模型在容器线程(1个Servlet请求/线程模型)和应用程序中的请求处理之间引入了异步边界。处理可以在其他线程上进行,也可以等待。最后,您必须分派回容器线程并以阻塞方式进行读取/写入(InputStream
和OutputStream
本质上是阻塞API)。
使用该模型,您需要许多线程来实现并发(因为其中许多线程可能在等待I / O时被阻塞)。这会花费资源,并且可能会有所取舍,具体取决于您的用例。
使用非阻塞代码,您只需要几个线程即可并发处理大量请求。这是一个不同的并发模型。像任何模型一样,它也带来了好处和折衷。
有关该比较的更多信息,请关注this Servlet vs. Reactive stacks谈话。