如何在nodejs中的集群之间共享可变数据?

我正在使用集群运行我的快速应用程序。 我的主人有一些需要在我的工作人员之间共享的variablescaching。 我可以这样做,因为使用物理数据存储对我来说是不可行的?

if (cluster.isMaster) { // Create a worker for each CPU global.my_cache_variable = 'xyz'; console.log("Number of cpu cores", cCPUs); for (var i = 0; i < cCPUs; i++) { cluster.fork(); } cluster.on('online', function (worker) { console.log('Worker ' + worker.process.pid + ' is online.'); }); cluster.on('exit', function (worker, code, signal) { console.log('worker ' + worker.process.pid + ' died.'); cluster.fork(); }); } else { //create server code here // and access the global cache variable with the workers } 

尽pipe你可以进行进程间通信,但是这并不容易,也可能不是你想要的(跨进程共享variables)。
您的最佳select可能是将caching存储外部化,例如,所有群集都可以访问的Redis存储。 它可以在同一台机器上或另一台机器上。 如果您需要水平缩放,它也将有所帮助,因为它将被多台机器共享。