-1

我按照教程here,注意到example code的索引文件(app.js)与通常的Express.js应用程序完全不同。该代码是簇模块内部包裹如下:是否所有AWS Node.js应用程序都需要群集模块?

// Include the cluster module 
var cluster = require('cluster'); 

// Code to run if we're in the master process 
if (cluster.isMaster) { 

    // Count the machine's CPUs 
    var cpuCount = require('os').cpus().length; 

    // Create a worker for each CPU 
    for (var i = 0; i < cpuCount; i += 1) { 
     cluster.fork(); 
    } 

    // Listen for terminating workers 
    cluster.on('exit', function (worker) { 

     // Replace the terminated workers 
     console.log('Worker ' + worker.id + ' died :('); 
     cluster.fork(); 

    }); 

// Code to run if we're in a worker process 
} else { 
    var AWS = require('aws-sdk'); 
    var express = require('express'); 
    var bodyParser = require('body-parser'); 
    // the usual code .. 
} 

这是必要的,或者我可以只部署常规代码,而不集群模块,像这样:

var AWS = require('aws-sdk'); 
var express = require('express'); 
var bodyParser = require('body-parser'); 
// the usual code .. 

感谢,

回答

2

这没有必要。群集模块是更好地使用机器(虚拟或物理)处理功能的一种方式,但不一定只是在AWS上运行。

+0

太好了,所以第二个例子会在我把它打包成zip文件的时候工作,对吧? – jeff

+0

假设你有节点运行,并执行npm安装和所有常用的东西,是的。 – Paul

+0

我可以做这些事情并在本地运行我的应用程序,但我不知道如何在AWS中执行这些操作。无论如何,希望我会弄清楚:)谢谢! **上午:**只需上传我的常规代码与EB控制台工作,我甚至不需要安装npm。我猜AWS自动执行此操作。 – jeff

相关问题