如何实现 node.js以便能够像 comet 服务器一样处理 250k 个连接(客户端我们使用 socket.io)?
使用 nginx 作为代理/负载均衡器是否是正确的解决方案?或者 HA-Proxy 是否是更好的方法?有没有人有 100k+ 连接的实际经验,可以分享他的设置吗?这样的设置是否正确(每台服务器四核 CPU -> 每台服务器启动 4 个 node.js 实例?):
nginx (as proxy / load balancing server)
/ | \
/ | \
/ | \
/ | \
node server #1 node server #2 node server #3
4 instances 4 instances 4 instances
答案1
vanilla nginx 不支持 HTTP/1.1 keepalive 到上游(后端)服务器,这会破坏 socket.io :( 如果你愿意自己编译它,你可能会更幸运 -->http://www.letseehere.com/reverse-proxy-web-sockets
尽管在那个规模下,我想知道跳过 Web 服务器层、直接路由 TCP 连接是否会更顺畅......