pomelo 开发中最好保持用户在前台服务器做负载均衡时,能够稳定的定向到一个服务器,否则有可能发生第一次登录在server1,第二次登录在server2,同一用户重复登录,以下代码只能在一个前端服务器保证一个用户一个session。
let sessionService = this.app.get('sessionService');
//duplicate log in
let existSession = sessionService.getByUid(data.userInfo.id);
if (!!existSession && existSession.length > 0) {
if (existSession[0].id === session.id) {
cb(null, data);
return;
} else {
// self.app.get('sessionService').kick(uid, cb);
sessionService.kick(data.userInfo.id);
}
}
网友评论