2015-10-12 45 views
4

我的node.js服务器将处理50k个并发客户端。单个node.js服务器无法处理这种负载量。我想设置5或10个node.js服务器运行在不同的端口上。并且,有一个负载平衡器,例如Nginx,监听每个node.js服务器。当一台服务器到达10k个客户端时,将多余的进入连接路由到其他node.js服务器。这是用node.js处理这种负载的正确方法吗?如果不是,最佳做法是什么?如何处理node.js服务器的大量负载?

回答

2

处理负载的最简单方法的确是使用负载均衡器将请求转发到同一台机器上或远程机器上的不同服务器。

如果您只想在一台机器上安装服务器,请使用pm2,它将负责负载平衡并保持您的服务器实例处于活动状态。

请注意在一台机器上运行并不能提供高可用性,并且在随机关机的情况下,您的服务将会停止运行。

我会建议在多台单核机器上运行服务器而不是在一台多核机器上运行。 为此,请在每台机器上安装pm2/forever,并使用另一台运行nginx的机器进行负载平衡。

这个article应该让你开始使用nginx。