WebSphere Application Server 负载平衡长轮询请求

WebSphere Application Server load balancing long polling requests

我正在使用 Apache,实际上是带有 WebSphere 插件的 IBM HTTP 服务器,作为我的 WebSphere 应用程序服务器(当前为 8.5.5)前面的反向代理和负载平衡器。

在未来,我需要大量使用长轮询请求,同时有数万个请求处于活动状态。在 WAS 方面,异步 servlet 应该可以满足我的需求,但我担心 apache 的每个请求线程模型将成为限制我的服务器可伸缩性的主要因素。每个请求都将使用 apache 中的线程和 TCP 端口以允许 WebSphere 插件连接到 WAS。

是否有任何 Apache 设置可以帮助此架构或任何其他软件解决方案可以用作 WAS 的反向代理并比 Apache 更好地处理长轮询请求?

谢谢

你的担心是有道理的。即使在 WAS 上卸载时,这些请求也会占用基于 Apache 的服务器上稀缺的线程。当然,Apache 中的线程远不及 AppServer 中的线程scarce/costly。

我怀疑您仍然可以通过 Apache/IHS 的几个实例达到数万个。通常情况下,您只有几千个线程,但如果您希望它们大部分时间都处于空闲状态,那么每个实例 5000+ 似乎是可行的。

像 WebSphere DataPower 或 nginx 或 Apache Traffic Server 这样的完全异步代理不会真正使用与(空闲)连接数成比例的资源。