扩展SockJS跟踪客户
我在扩展我的运行SockJS服务器的Nodejs服务器的过程中。 它是SockJS服务器存储每个连接客户端的基本聊天对象。
基本上我这样存储:
var clients = []; var sockets = {}; // Identify this client socket.name = socket.remoteAddress + ":" + socket.remotePort // Put this new client in the list clients.push(socket); sockets[socket.name] = socket;
这是我如何写入套接字:
sockets[socketName].write("{\"type\":\"type\", \"msg\": \"" + escp(obj.msg) + "\", \"name\": \"" + obj.name+ "\", \"location\": \"" + obj.location + "\"}");
我的想法是现在扩大并在亚马逊开始更多的实例。 我会在前面的HAProxy
负载。
问题是两个人聊天都必须在同一个实例上,因为connectedClients isent在我的ec2 instances
共享。
任何想法如何做到这一点? 我需要存储connectedClients
在分贝? (这甚至可能)?
基本上我需要在我的实例之间共享sockets
和clients