strongloop 主管如何处理 websocket 连接?
how does strongloop supervisor handle websocket connections?
我有一个使用 WebSockets 从浏览器连接到的节点应用程序。
如果我 运行 这个应用程序在主管 (slc run --cluster cpu myapp.js
) 的领导下,websocket 连接是否会在建立后始终转发给同一个工作人员?或者主管会在转发发送到此连接的消息时进行某种负载平衡吗?
strong-supervisor 绝对不会自行进行负载平衡或集群:它会自动启动并配置节点集群 (http://nodejs.org/api/cluster.html)
节点集群在 TCP 级别分发连接,它对它们上面的协议运行一无所知。
当使用 websockets 时,您有两个选择,使用 nginx 或其他支持 websocket 的负载平衡器,或者不要假设 websocket 和 http 连接具有进程亲缘关系,并保持共享状态在进程之外,可能是数据库。
如果使用 socket.io,请查看 https://github.com/automattic/socket.io-redis and https://github.com/strongloop/strong-cluster-socket.io-store
我有一个使用 WebSockets 从浏览器连接到的节点应用程序。
如果我 运行 这个应用程序在主管 (slc run --cluster cpu myapp.js
) 的领导下,websocket 连接是否会在建立后始终转发给同一个工作人员?或者主管会在转发发送到此连接的消息时进行某种负载平衡吗?
strong-supervisor 绝对不会自行进行负载平衡或集群:它会自动启动并配置节点集群 (http://nodejs.org/api/cluster.html)
节点集群在 TCP 级别分发连接,它对它们上面的协议运行一无所知。
当使用 websockets 时,您有两个选择,使用 nginx 或其他支持 websocket 的负载平衡器,或者不要假设 websocket 和 http 连接具有进程亲缘关系,并保持共享状态在进程之外,可能是数据库。
如果使用 socket.io,请查看 https://github.com/automattic/socket.io-redis and https://github.com/strongloop/strong-cluster-socket.io-store