Socket.IO不同服务器上的客房

我的目标

我想创build一个游戏与不同的游戏室。 游戏室没有任何连接。 只有一件事:我需要能够将玩家移动到其他房间。

我的想法

将有许多用户在玩,所以在每台服务器上使用许多服务器和许多节点实例是一件好事。

我用

带有SocketIO的NodeJS。 播放室是SocketIO房间。 每个玩家只能连接到一个房间。

但是,如果我需要将用户从服务器#1的一个房间移动到服务器#2的另一个房间,我该怎么办?

我知道的方法

我发现了NoSQL作为Redis的服务器之间的连接方法。 我可以发送像这样的事件到其他房间。

但似乎是更好的事情,我会发送命令给我的客户:“从服务器#1断开,连接到服务器#2,到房间…”(并将所有可能的房间存储在redis客户端中)。 所以,这将是直接连接,而不是“服务器#1 – > redis – >服务器#2”。 我想要它快。

主要问题

有没有办法将客户端连接从一台服务器转移到另一台服务器,快速简单? 或者可以使用Redis pub-sub的速度不是那么糟糕,可以使用它吗? 什么是最好的解决scheme?

谢谢。

Redis是好的。 这是相当快速和易于使用。