Socket.IO实时连接群集中的用户

时间:2015-09-22 08:35:33

标签: node.js redis socket.io cluster-computing publish-subscribe

我正在编写一个应用程序,重要的是能够实时查明特定用户(由套接字ID标识)当前是否已连接到群集内的任何计算机...

然而,在一般情况下这似乎是不可能的(简单的实现只会不可靠地工作)。

例如,假设两个用户连接到两个不同的服务器A和B并相互聊天(使用socket.io redis适配器),突然服务器A关闭。此外,无论出于何种原因,连接到服务器A的用户都无法重新连接到服务器B.服务器B没有(简单)方式告知服务器A已关闭并且其用户已断开连接。因此,连接到服务器B的用户将不知道他的伙伴无法收到他的消息。

在这种情况下,有什么策略可以帮助吗?也许让服务器每隔几秒就互相轮询以确保它们还活着?实现某种心跳功能以确保用户活着(在一般情况下根本不容易实现)?关于如何进行的任何线索? 谢谢!

0 个答案:

没有答案