保持负载平衡器后面的closures实例的连接

我正在寻找一个系统来通过sockets.io创build一个活的套接字应用程序,并且可以平衡而没有问题。

有大量的解决scheme来平衡多个套接字实例之间的负载,如SocketCluster,但我面临的问题是,当负载平衡器决定,而不是10个实例我需要8个实例,并closures其中2,我怎么能保持这些实例的套接字连接?

试图更好地解释它,我有一个事件stream媒体公司,几乎所有的周末stream事件,但没有在两者之间。 如果我使用亚马逊EC2,我只会有一个实例,几乎有0个用户连接,但在周末亚马逊将启动一些事件,当一个事件开始stream,并将路由每个连接到不同的服务器。 我看到的问题是,当事件结束并且人们开始退出时,负载平衡器将开始closures实例,而仍然连接到这些实例的人将开始失去与聊天的连接。 我知道我可以简单地通过重新连接这个人来解决这个问题,但有可能在他们重新连接的时候丢失一些消息。

有没有一个系统,将连接路由到另一台服务器,并知道是连接到另一个实例的同一用户,而不重新连接?

您不能保持与被closures的服务器进程的连接。 套接字是两个特定端点之间的连接。 出于安全原因,您不能将其中一个端点重新映射到新的服务器。 相反,你将不得不拆下套接字,让它重新连接(哪个socket.io会自动为你做),然后重新平衡到新的configuration,当它再次连接。