【问题标题】:Node JS Multiple Server Instances, one for each core?Node JS 多个服务器实例,每个核心一个?
【发布时间】:2018-10-12 15:48:45
【问题描述】:

如果有任何错误,请纠正我,但这是我的理解和希望。据我所知,Node 实例将在 1 个 CPU 内核上运行。所以我有一个 API 和一个 UI,两者都是 100% 无状态的,所以我想使用 PM2 在我的服务器(84 个核心服务器)上生成 10 或 20 个进程。每个进程运行一个 API 副本,然后创建一个小型节点应用程序,该应用程序将在每个实例之间转发流量。

理论上这应该可以让我很好地扩展我的应用程序,我是不是想错了?是否可以以这种方式设置 Node Js?我是否正确地考虑了这一点?

【问题讨论】:

    标签: node.js pm2 cpu-cores


    【解决方案1】:

    是的,你可以

    节点进程的一个实例占用一个核心。因此,如果有 2 个内核,理想情况下应该运行 2 个pm2 clusters。正如您所说,您有 84 个内核,那么您可以使用以下命令轻松运行 20 个进程。

    pm2 start -i 20 app.js
    

    您的应用程序可以通过这种方式水平扩展。但是,如果您有多台机器需要相同的设置。您将需要nginx 进行负载平衡。

    【讨论】:

    • 您是否在推断 PM2 集群已经完成了我想要它做的事情,并且我不必制作一个小型节点 js 实例来路由我的实例之间的流量?
    • @CMOS 是的。 pm2 集群将为您完成这项工作
    猜你喜欢
    • 2016-03-03
    • 1970-01-01
    • 1970-01-01
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-22
    • 2012-01-21
    相关资源
    最近更新 更多