簇
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');