Ich versuche, nodejs Anwendung zu bauen, die Multicore-Maschinen (a.k.a.Clustering) nutzen wird und ich habe eine Frage über Sitzungen. Mein Code sieht wie folgt aus:Nodejs Clustering und expressjs Sitzungen
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
}
Meine Frage ist: Jedesmal, wenn ein einzelner Benutzer trifft zufällig Knoteninstanz oder zum Beispiel das erste Mal öffnet er die Seite und trifft N4 Knoten und bis zu seiner Sitzung abläuft, er traf Knoten N4 auf jede Anfrage? Für diejenigen, die meine Frage nicht verstanden haben, werde ich versuchen zu erklären, worüber ich mir Sorgen mache: Ein Benutzer gibt meine Seite ein, er loggt sich auf Knoten N3 ein, dann setze ich req.session.userdata auf zufällige Daten, er aktualisiert sich die Seite und er knackte Knoten N4, kann ich req.session.userdata von verschiedenen Knoten zugreifen? Das bedeutet, dass es eine Chance für den Benutzer gibt, zufällig ausgeloggt zu werden, oder ich verstehe einfach nicht, wie Clustering mit Express funktioniert?