在我的项目中,我需要创建一个能够调整流量的代理服务器。主要问题是要使用具有不同优先级的不同队列,这些队列将提供对其他服务器的访问。
我的想法是将Jetty及其异步功能-Continuation使用。在Continuation中,可以选择挂起请求并释放线程。然后我的请求可以排队。
我主要关心的是资源。 Jetty中被“暂停”的请求会如何处理?他们还有螺纹吗?
就我而言,可能有很多请求排队,而Tomcat的“每个请求的线程”方法对我来说不是一个好的解决方案...
最佳答案
您可能想从org.eclipse.jetty.servlets.ProxyServlet开始,然后看看如何扩展它,类似于BalancerServlet,然后从那里开始。它已经具有许多可以开始使用的异步/继续功能。
查看public void service(ServletRequest req, ServletResponse res)
方法,了解如何使用延续。