Nodejs Clustering y expressjs.

Estoy intentando crear una aplicación nodejs que aproveche las máquinas multinúcleo (también conocida como agrupación en clúster) y tengo una pregunta sobre las sesiones. Mi código se ve así:

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 } 

Mi pregunta es: ¿cada vez que un solo usuario golpea una instancia de nodo aleatorio o, por ejemplo, la primera vez que abre la página y golpea el nodo N4 y hasta que expira su sesión, golpea el nodo N4 en cada solicitud? Para aquellos que no entendieron mi pregunta, intentaré explicar lo que me preocupa: un usuario ingresa a mi página, inicia sesión en el nodo N3, luego configuro req.session.userdata a datos aleatorios, actualiza el página y él golpeó Nodo N4, ¿podré acceder a req.session.userdata desde diferentes Nodos? ¿Eso significa que hay una posibilidad de que el usuario cierre la sesión de forma aleatoria o simplemente no entiendo cómo funciona el agrupamiento con Express?

Está en lo cierto al afirmar que el almacenamiento en sesión de memoria en Connect / Express no es adecuado para admitir más de una instancia. La solución es implementar un almacén de sesión con una base de datos de respaldo. Mi recomendación es connect-redis, y el código de ejemplo está en Session Undefined – Usando Connect-Redis / ExpressJS / Node

Pero hay docenas de opciones.

    Intereting Posts