如何使用socketio集群创建nodejs?

时间:2013-05-14 08:28:56

标签: node.js sockets cluster-computing socket.io

我用nodejs,express和socketio写了一个聊天应用程序。 它支持在一个房间聊天,并支持多个房间, 我将客户端数据保存在内存中,例如全局 变量房间,我存储像这样的客户端数据..

var rooms =  {
  "room1": [
         {username: "user1", socket: user1Socket}, 
         {username: "user2", socket: user2Socket}, 
  ],
  "room2": [
         {username: "user3", socket: user3Socket}, 
         {username: "user4", socket: user4Socket}, 
  ]
}

但群集中有多个服务器,客户端不知道连接到哪个服务器,因为这是负载均衡器的工作,然后出现问题,user1和user2应该在同一个房间,但是他们可能连接到不同的服务器..

我该怎么办?

1 个答案:

答案 0 :(得分:1)

您需要使用RedisStore配置服务器。有关详细信息,请查看此处:https://github.com/LearnBoost/Socket.IO/wiki/Configuring-Socket.IO#server