我的情况是,我们目前正在写它使用Node.js的服务器端与网页套接字监听器的在线应用。我们有两个不同的部分:一个服务页面并使用node.js和express + ejs,另一个是完全不同的应用程序,它只包含用于websocket的socket.io库。 所以我们来看这个websockets部分的可伸缩性问题。我们发现基于Cookie的WebSockets负载平衡?
一种解决方案是使用Redis的和服务器之间共享信息插座,但由于建筑,将需要的其他资料,这是要在服务器上创建巨大的开销负载的共享。
这个介绍之后,我的问题是 - 有可能使用基于cookie的负载平衡的WebSockets?因此,可以说,来自用户与cookie服务器= server1的每个连接都将始终转发到server1,并且每个使用cookie server = server2的连接都将fw到server2,并且没有此cookie的连接将会fw到最不繁忙的服务器。
UPDATE:作为一个“答案”说 - 是的,我知道这存在。只是不记得那个名字是粘滞的会议。但问题是 - 这是否适用于websockets?有没有可能的并发症?
这是一个问题,我很感兴趣,也只是我不太看这个问题从浏览器的负载均衡传入的连接(它只会打其中一台服务器,并坚持下去),我更感兴趣的是你如何从后端推送到这些服务器。就像,我有后端服务器执行实际工作,然后它会通过套接字将消息推送到websockets服务器 - 如果我有群集,我怎么知道推送到哪个服务器?我目前的想法是将所有打开的连接列表保存在中央数据库的某个位置,不确定是否是最好的方式。 – KOHb 2013-01-17 15:43:40
@KOHb我在套接字服务器后面没有任何额外的后端。所以对我来说这更简单。但从你说的话我会尝试Redis服务器为此目的。 – AlexKey 2013-01-21 11:30:31