0

我想用 node.js 和:socket.io,集群 - 模块/插件制作聊天轮盘应用程序。

所以我有一个只创建几个子集群的主集群。现在,每个子集群在同一个端口上都有 socket.io 连接。但是我应该在哪里将所有套接字(用户)组合成对,在哪个子集群中?一些套接字在一个集群中,而一些套接字在另一个集群中。

我可以通过这个clusterhub同步所有socket.io连接:http: //toolbox.no.de/packages/socket.io-clusterhub

所以每个集群都有所有的套接字,但是哪个子集群应该将套接字组合成对呢?通常我需要对子集群做一些事情,并且需要访问所有子集群的所有套接字。

4

1 回答 1

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 (关于商店的部分)。

于 2012-09-17T09:52:01.930 回答