Nodejs Clustering e expressjs sessions
Eu estou tentando construir o aplicativo nodejs que irá aproveitar as máquinas multicore (a.k.a. clustering) e eu tenho uma pergunta sobre as sessões. Meu código é assim:
var cluster = exports.cluster = require('cluster');
var numCPUs = require('os').cpus().length;
if (cluster.isMaster) {
for (var i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('exit', function(worker, code, signal) {
console.log('worker ' + worker.process.pid + ' died. Trying to respawn...');
cluster.fork();
});
} else {
//spawn express etc
}
Minha pergunta é: Toda vez que um único usuário acessa a instância do nó aleatório ou, por exemplo, na primeira vez que abre a página e atinge o nó N4 e até que sua sessão expire, ele atinge o nó N4 em todas as solicitações? Para aqueles que não entenderam minha pergunta, vou tentar explicar o que me preocupa: um usuário entra na minha página, ele faz o login no nó N3, então eu configuro req.session.userdata para um dado aleatório, ele atualiza o página e ele bateu o Nó N4, eu vou ser capaz de acessar req.session.userdata de Node diferente? Isso significa que há uma chance de o usuário ser desconectado aleatoriamente ou não estou entendendo como o clustering com o express funciona?