Node.js 反向代理/负载均衡器

标签 node.js http load-balancing reverse-proxy

我正在检查node-http-proxynodejs-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/

相关文章:

node.js - NodeJS - 如何控制 Promise 的执行流程?

git - 在仅限网络的提供商(无外壳)上发布 Git 存储库

session - 生产环境中的 Tomcat 集群/负载均衡性能

javascript - 将具有相同键、值的 JS 对象合并到数组中

javascript - fs.readdir 忽略目录

node.js - 在没有公共(public) URL 的 Node.js 中从 Google Cloud Storage 检索图像

algorithm - 具有 N 个节点和 K 个配送中心的集群

python - 如何在 Python 3 中使用 urllib.request 下载文件?

c# - http重定向问题

java - 从其他集群机器更新本地属性