如何使用node.js服务器处理大量负载?

Hon*_*Liu 4 javascript nginx node.js

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

ido*_*mun 5

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

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

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

我建议在多台单核计算机上运行服务器,而不是在一台多核计算机上运行。为此,请在每台机器上设置pm2 / forever并在另一台机器上运行 nginx 以实现负载平衡。

这篇文章应该可以帮助您开始使用 nginx。