我正在检查node-http-proxy和 nodejs-proxy在 Node.js 中构建 DIY 反向代理/负载均衡器。在编写了一个小版本后,我为同一个 Rails 应用程序设置了 2 个 WEBrick 服务器,这样我就可以在它们之间进行负载平衡(循环)。然而,每个 HTTP 请求都会发送到一个或另一个服务器,这是非常低效的,因为从主页加载 CSS 和 Javascript 文件的过程需要超过 25 个 GET 请求。 我尝试使用套接字事件进行一些操作,但没有取得任何进展,因为默认情况下它使用保持事件连接(可能这就是 nginx 仅支持 http/1.0 的原因)。 好的,所以我想知道我的代理如何将 HTTP 请求 block (例如完全加载网页等)发送到一台服务器,以便我可以将下一个 block 发送到另一台服务器。
最佳答案
您需要考虑粘性或 session 持久性。这将确保第一个入站连接之后的 future 连接在 session 期间或直到持久连接超时为止“卡住”到所选服务器。
关于Node.js 反向代理/负载均衡器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16428456/