【发布时间】:2019-04-22 07:25:22
【问题描述】:
我想建立一个 Node.js 服务集群,在它们前面有一个负载均衡器(由于某些原因不能有粘性会话)。
让我们想象一下我有两个节点,客户端(例如,浏览器,使用 socket.io)发送 wss:// 请求,第一个节点从 LB 获取它,然后它发送回客户端 'HTTP/1.1 101 Web Socket Protocol Handshake 响应。
之后客户端和服务器是否会使用与初始客户端请求相同的 TCP 连接来发送帧?或者会建立一个新的 TCP 连接,可能会被 LB 转发到第二个节点?
在使用 socket.io 的情况下,它可能仍会回退并在 WebSocket 连接建立之前通过 http 发送长轮询以提高性能。这些轮询请求是否可以在不同的后端节点上结束?
【问题讨论】:
标签: node.js http websocket load-balancing