我正在使用集群,并试图找出定义变量的最佳方法。
1 - var config
if (cluster.isMaster) {
2 - var config
// master code
for (var i = 0; i < numCPUs; i++) {
cluster.fork()
}
}else{
// worker code
3 - var config
}
在任何地方声明变量是否相同,每个工作人员将拥有自己的变量独立副本?
答案 0 :(得分:1)
Cluster打算让父进程将自身派生到子进程中。进程不共享变量(甚至不共享全局变量),因此您必须通过另一种方式共享状态。
您可以让子进程通过.send()
和.on("message")
与父进程进行通信。 https://nodejs.org/api/cluster.html#cluster_event_message
如果您想要更简化的方法,请让进程通过memshared之类的方法共享数据库,但是您必须处理其异步特性。 (也许convert it into a promise然后使用async/await?)