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