2

我正在构建实时连接服务器。并希望使用节点集群对其进行扩展

我浏览了许多不同的网站,试图弄清楚如何实现 Websokets(ws) 和节点集群。所以我想尝试的基本想法是:我拥有连接到服务器的所有用户的数组,例如:{key:ws, key:ws,key:ws}

所以我想做的是用 Websockets 运行 Node js Clusters,我会得到类似的东西

Master:将所有连接的ws存储在数组中:{key:ws,key:ws,key:ws} Worker1:要连接的Ws服务器 Worker2:要连接的Ws服务器

我想知道的是,例如连接到 Worker2 的用户想要向连接到 Worker2 和 worker1 的用户发送消息。

所以我会从 Worker2 向 Master 发送消息以获取所有用户,Master 将发送 {key:ws(worker1), key:ws(worker2),key:ws}。Worker2 将遍历这个数组并向每个用户发送消息。该实现工作或消息是否不会发送给连接到另一个 Worker 的用户?

非常感谢您的回答。

4

1 回答 1

2

有一个包wse-cc可以完全控制节点之间的用户平衡,但问题是 - 它没有很好地记录。

它使用不同的进程而不是集群来使其能够在多台物理机器上工作。我将它用于浏览器 MMO 游戏。如果您有兴趣 - 我可以制作一个关于如何设置它的快速文档。顶部不需要任何平衡器,可以在单台机器或多台机器上工作。

或者您可以访问问题页面- 我会帮助解决任何问题。

于 2020-11-15T14:07:02.813 回答