Я понимаю, что могу использовать модуль Nodes cluster
для создания нескольких рабочих процессов, обслуживающих одно и то же соединение сокета (пример из документации):
var cluster = require('cluster');
var http = require('http');
var numCPUs = require('os').cpus().length;
if (cluster.isMaster) {
// Fork workers.
for (var i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('exit', function(worker, code, signal) {
console.log('worker ' + worker.process.pid + ' died');
});
} else {
// Workers can share any TCP connection
// In this case its a HTTP server
http.createServer(function(req, res) {
res.writeHead(200);
res.end("hello world\n");
}).listen(8000);
}
Однако что, если я вместо того, чтобы обслуживать одно и то же соединение, хочу, чтобы каждый рабочий сервер запускал свой собственный сервер, каждый из которых прослушивал отдельный порт?
socket.io
. В разрабатываемом нами приложении основной единицей группировки пользователей является организация, и я хотел бы, чтобы каждая организация имела свой собственный сервер socket.io со своим собственным портом. - person csvan   schedule 02.08.2015