我想用node.js和socket.io,cluster - modules / plugins创建chatroulette app。
所以我有主集群,他只是创建了一些子集群。 现在,每个子集群在同一端口上都有socket.io连接。但是我应该在哪里将所有套接字(用户)组合成对,哪个子集群?一些套接字在一个集群中,一些套接字在其他集群中。
我可以通过此clusterhub同步所有socket.io连接: http://toolbox.no.de/packages/socket.io-clusterhub
所以每个集群都有所有套接字,但是哪个子集群应该将套接字组合成对? 通常我需要在子集群上做一些事情,并且需要访问所有子集群中的所有套接字。
答案 0 :(得分:1)
您需要将不同的socket.io实例与Message Queue或Socket.IO Store连接,以便它们相互通信并将消息传递给其他实例。
Socket.IO已经有了Stores的概念,用于存储连接,这是socket.io对部署多个服务器和进程的回答。 Socket.IO附带2个存储,内存存储将保留进程内的所有连接信息,RedisStore将同步所有连接进程之间的所有信息。
有关如何实现该功能的更多信息,请参阅https://github.com/LearnBoost/Socket.IO/wiki/Configuring-Socket.IO(有关商店的部分)。