如何在NodeJS中为session.io创建MySQL适配器?

时间:2016-05-03 07:36:03

标签: node.js socket.io google-compute-engine

我在负载均衡器后面的2个Google Cloud实例上有一个NodeJS项目。我正在使用socket.io。我想分享实例之间的会话。

通常开发人员使用socket.io-redies进行此操作,但我不想要redis。我有Cloud SQL(Aka:MySQL),我想使用MySQL来共享会话。

我已经理解了redis适配器文件的整个index.js,除了这个函数:

https://github.com/socketio/socket.io-redis/blob/master/index.js#L93

Redis.prototype.onmessage = function(channel, msg){
var args = msgpack.decode(msg);
var packet;

if (uid == args.shift()) return debug('ignore same uid');

packet = args[0];

if (packet && packet.nsp === undefined) {
  packet.nsp = '/';
}

if (!packet || packet.nsp != this.nsp.name) {
  return debug('ignore different namespace');
}

args.push(true);

this.broadcast.apply(this, args);

};

如果我需要从MySQL(订阅)获取事件,我认为这是不可能的。我是对的吗?

您是否知道在不使用Redis的情况下在两台计算机之间共享socket.io的另一种解决方案?

0 个答案:

没有答案