1
我使用nodejs,express和socketio编写了一个聊天应用程序。 它支持一些聊天在一个房间里,并支持多个房间, 而且我认为在客户端的数据在内存中,比如有全球 变量房,我存储客户数据这样的..如何使用socketio集群创建nodejs?
var rooms = {
"room1": [
{username: "user1", socket: user1Socket},
{username: "user2", socket: user2Socket},
],
"room2": [
{username: "user3", socket: user3Socket},
{username: "user4", socket: user4Socket},
]
}
但集群中有多个服务器,客户端不知道连接到哪个服务器,因为这是负载均衡器的工作,则出现问题,user1和user2应该在同一个房间中,但它们可能会连接到不同的服务器。
我该怎么办?
谢谢,我配置了一个redis商店的服务器,它的作品很好! – manbu 2013-05-17 09:24:49
我现在已经做了一个redis服务器集群,我可以在redis.on('end')事件中找到redis服务器的连接,但是我想将存储redis服务器连接切换到集群中的其他服务器,我该怎么办? – manbu 2013-05-17 10:00:38
重做'io.set('store',...)'与另一个RedisStore实例不起作用吗? 否则最好的可能是使用您的负载平衡器。 – Sylvain 2013-05-17 12:37:50