Node.js, multi-threading e Socket.io

Estou procurando fazer com que o Socket.io funcione com vários threads com balanceamento de carga nativo ("cluster") no Node.js v.0.6.0 e posterior.

Pelo que entendi, o Socket.io usa o Redis para armazenar seus dados internos. Meu entendimento é o seguinte: em vez de gerar uma nova instância do Redis para cada trabalhador, queremos forçar os trabalhadores a usar a mesma instância do Redis que o mestre. Assim, os dados de conexão seriam compartilhados entre todos os trabalhadore

Algo assim no mestre:

RedisInstance = new io.RedisStore;

O que de alguma forma deve passarRedisInstance aos trabalhadores e faça o seguinte:

io.set('store', RedisInstance);

Inspirado poresta implementação usando o antigo módulo de cluster de terceiros, tenho a seguinte implementação não operacional:

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();
  }

  var sio = require('socket.io')
  , RedisStore = sio.RedisStore
  , io = sio.listen(8080, options);

  // Somehow pass this information to the workers
  io.set('store', new RedisStore);

} else {
  // Do the work here
  io.sockets.on('connection', function (socket) {
    socket.on('chat', function (data) {
      socket.broadcast.emit('chat', data);
    })
  });
}

Pensamentos? Eu posso estar indo completamente na direção errada, alguém pode apontar para algumas idéias?

questionAnswers(1)

yourAnswerToTheQuestion