gpt4 book ai didi

javascript - 如何在nodejs中的集群之间共享一个变量?

转载 作者:行者123 更新时间:2023-11-29 21:39:53 24 4
gpt4 key购买 nike

我正在使用集群运行我的 express 应用程序。我的主人有某种缓存,其中包含一个需要在我的 worker 之间共享的变量。我可以通过以下方式执行此操作,因为使用物理数据存储对我来说不可行吗?

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
}

最佳答案

虽然你可以进行进程间通信,但这并不容易,而且可能不是你想要的(跨进程共享变量)。
您最好的选择可能是外部化您的缓存存储,例如所有集群都可以访问的 Redis 存储。它可以在同一台机器或另一台机器上。如果您需要横向扩展,它也会有所帮助,因为它将由多台机器共享。

关于javascript - 如何在nodejs中的集群之间共享一个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33362625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com