假设我已经实现了一些Rest
端点。
现在我想确保特定的路由(比如说POST/log
)最多只能获得2个线程,而其他重要路由则获得其余的线程
。
在加载期间,我们不希望线程池中的许多线程投资于 POST/log
路由。我们不关心 POST/log
路由。
[1] 在tomcat中如何实现这一点?
[2] 除了在网络服务器上中继之外,还有其他方法可以实现此目的吗?
PS:我确实在 Servlet 中找到了 SingleThreadModel 接口(interface)
,但它已被弃用。
编辑:
我不想添加过滤器和计数请求,一旦超出限制,就会删除请求,因为在这种情况下,JVM 仍会花费精力切换线程上下文,只是为了运行我的计数请求并删除请求。
理想情况下,像 NODE.JS
的事件循环这样的东西会被引用,其中只有一个线程正在处理请求,而其他线程则排队。
据我所知,实现这一目标的一种简单方法是使用不同的连接器进行路由并为每个连接器分配线程池。但我正在寻找适合开发的东西。
最佳答案
设置QoSFilter并为您想要限制的 url 模式适当标记您的优先级。
关于java - 如何限制 tomcat/java Web 服务器世界中每个路由的最大线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35848202/