Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Websokets(ws)、NodeJs群集、,_Javascript_Node.js_Websocket_Node Cluster - Fatal编程技术网

Javascript Websokets(ws)、NodeJs群集、,

Javascript Websokets(ws)、NodeJs群集、,,javascript,node.js,websocket,node-cluster,Javascript,Node.js,Websocket,Node Cluster,我正在构建实时连接服务器。并希望通过节点群集来扩展它 我浏览了许多不同的网站,试图找出如何实现Websokets(ws)和节点集群。因此,我想尝试的基本想法是:我拥有连接到服务器的所有用户的数量和阵列,如: {key:ws,key:ws,key:ws} 所以我想做的是用WebSocket运行NodeJS集群,我会得到类似的东西 Master:在数组中存储所有连接的ws的位置:{key:ws,key:ws,key:ws} Worker1:要连接的Ws-server Worker2:要连接的Ws-s

我正在构建实时连接服务器。并希望通过节点群集来扩展它

我浏览了许多不同的网站,试图找出如何实现Websokets(ws)和节点集群。因此,我想尝试的基本想法是:我拥有连接到服务器的所有用户的数量和阵列,如: {key:ws,key:ws,key:ws}

所以我想做的是用WebSocket运行NodeJS集群,我会得到类似的东西

Master:在数组中存储所有连接的ws的位置:{key:ws,key:ws,key:ws} Worker1:要连接的Ws-server Worker2:要连接的Ws-server

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

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

非常感谢您的回答。

有一个软件包可以完全控制节点之间的用户平衡,但问题是,它没有很好的文档记录

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


或者您可以访问-我将帮助您解答任何问题。

我没有使用Socket.io/Redis的经验,但您可以试试这个