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