我正在使用spring webflux reactive堆栈启动一个项目,该堆栈默认使用Reactor Netty作为服务器。如果我错了,请纠正我,但我读到Netty只能有最大数量的事件循环作为实例上的处理器数量。这意味着,如果一个请求被阻塞了一秒钟(这不应该是我知道的用例,只是举个例子),如果实例上只有一个处理器,我们每秒只能获得最多1个事务。
我想知道与像Tomcat这样的servlet容器相比,Netty的可扩展性如何?使用Netty和Tomcat的优缺点是什么?
我还想知道优化Netty配置的方法,以确保它可以投入生产。
发布于 2019-09-16 23:00:42
这意味着如果一个请求被阻塞了一秒钟(例如,这不应该是我知道的用例)
这个堆栈的全部目的是在有限的资源(这里是线程)上进行大规模的扩展。这一切都建立在一个关键需求之上,即的每一步都是异步和非阻塞的。
所以你的“举个例子”没有任何意义。是的,如果阻塞一秒,CPU将只在这一秒内处理单个请求。你这样做也是完全错误的,堆栈中的一切都是为了帮助你避免阻塞。
https://stackoverflow.com/questions/57946562
复制相似问题