我开始使用节点集群包,很快就发现主服务器和集群之间没有共享数据。让我们以这个例子为例:
var cluster = require('cluster');
var numCPUs = require('os').cpus().length;
var my_array = [];
if(cluster.isMaster) {
for (var i = 0; i < numCPUs && i < 8; i++) {
cluster.fork();
}
my_array.push('test');
cluster.on('exit', function(worker, code, signal) {
console.log('worker ' + worker.process.pid + ' died');
});
} else {
setInterval(function() {
console.log(my_array); // my_array is always empty
}, 500);
}如何定义可以在主服务器和集群之间共享的变量?
发布于 2017-11-17 09:11:27
集群只是打开更多的进程(子进程),这样它们就会列表到同一个端口。为了沟通,你需要在他们之间发送按摩。下面是一个示例node-cluster-messaging.js
https://stackoverflow.com/questions/47346645
复制相似问题