使用集群和套接字io扩展基于nodejs房间的游戏

时间:2019-11-11 11:27:36

标签: javascript node.js socket.io

游戏是基于房间的,当下层连接时,他可以加入房间或创建一个房间并等待其他玩家加入。

我将每个游戏保留在全局变量中,并像这样更新它:

setInterval(() => {

  for (let game in games) {
    games[game].run();
  }
}, 1000/30);

随着越来越多的用户腾出房间,我可以想象这可能会变得很重,所以我想使用nodejs中的集群模块来使用多个线程。

我不希望每个节点都能够使用Redis作为发布订阅者彼此对话。 我想将客户端重定向到存在某些条件的节点实例。 例如,例如,如果客户端要加入会议室,请搜索所有节点实例并连接到该实例,并找到第一个空闲会议室;或者如果客户端要建立会议室,请将其重定向到具有最少会议室的实例。 问题是我不知道如何将客户端定向到特定的节点实例以及如何在其中存储信息的位置上,他可以根据该信息来决定要加入哪个实例。

0 个答案:

没有答案