我经常看到(Rails | Java | PHP | Node.js | nginx |等)的设置,其中有许多服务器软件实例(nginx,apache,mongrel没关系)在每个服务器上运行并为同一应用程序,而不是单个“巨大”实例。 为什么会选择这种方法? 对于我来说,目前尚不清楚为什 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
因此,如果这部分内容有误,请纠正我,但这是我的理解和希望。 据我所知,Node的实例将在1个CPU内核上运行。 因此,我有一个100%无状态的API和一个UI,因此我有了一个想法,可以使用PM2在我的服务器(84台核心服务器)上产生10或20个进程。 每个进程都运行API的副本,然后创建一个小型节点应用程序,该应用程序将在每个实例之间转发流量。
从理论上讲,这应该可以让我很好地扩展我的应用程序,我是否对此想法有误? 是否可以通过这种方式设置节点J? 我是否正确地考虑了这一点?
是的你可以
一个节点进程实例占用一个核心。 因此,如果具有2个核心,则理想情况下应运行2个pm2 clusters
。 如您所说,您拥有84个核心,然后可以使用以下命令轻松运行20个进程。
pm2 start -i 20 app.js
您的应用程序可以通过这种方式水平扩展。 但是,如果要在多台计算机上使用相同的设置。 您将需要nginx
进行负载平衡。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.