试图了解 NodeJS 在 CPU 内存使用方面的工作原理,我们在产品中有 4 个实例,它们由于繁重的工作而速度减慢,并且我们有负载均衡器。 在实例/应用程序级别添加 Node 集群是否有意义,以便我们可以使用 cluster.fork 来使用所有硬件功能,以便所有子进程也可以直接监听端口。向负载均衡器添加更多实例或添加 Node 集群或第三方 PM2 等来处理重负载的更好方法是什么?
最佳答案
扩展 Node 应用程序的方法 - cluster.fork
或负载平衡多个实例 - 将会起作用。
如果负载平衡在没有 pm2
的情况下工作,此时将其添加到混合中可能没有意义,因为复杂性。
需要考虑的另一件事:如果您的 NodeJS 实例运行 https
服务器,而不是 http
服务器,您可能需要使用 nginx 作为反向代理,并拥有它处理 https 加密工作。您可以让 nginx 将请求转发到位于 http://localhost:3000
的 Node 实例。 https
- 处理是计算密集型的,nginx 比 Nodejs 更高效。
关于javascript - Nodejs主进程是否使用了所有CPU内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59668294/