cluster 模組允許多次啟動同一個應用程式。

當不同的例項具有相同的執行流並且不依賴於彼此時,期望聚類。在這種情況下,你有一個可以啟動分叉和分叉(或子代)的主機。孩子們獨立工作,擁有 Ram 和 Event Loop 的一個空間。

設定群集對網站/ API 有益。任何執行緒都可以為任何客戶服務,因為它不依賴於其他執行緒。資料庫(如 Redis)將用於共享 Cookie,因為變數無法共享! 執行緒之間。

// runs in each instance
var cluster = require('cluster');
var numCPUs = require('os').cpus().length;

console.log('I am always called');

if (cluster.isMaster) {
    // runs only once (within the master);
    console.log('I am the master, launching workers!');
    for(var i = 0; i < numCPUs; i++) cluster.fork();

} else {
    // runs in each fork
    console.log('I am a fork!');
  
    // here one could start, as an example, a web server
  
}

console.log('I am always called as well');