多人纸牌游戏 - 在一个过程中启动子进程或处理

时间:2014-12-14 22:13:30

标签: node.js

所以我正在学习node.js并制作一个随机播放器与玩家卡片游戏。我将使用套接字和会话。

理论上很多游戏同时运行。

这里的最佳做法是,我是否为每个游戏生成节点服务器的子进程,或者只是保留正在进行的游戏和'板的数据。在主服务器中,每次有动作时只抓一个给定的游戏?

2 个答案:

答案 0 :(得分:2)

假设没有密集的CPU处理,你应该在一个过程中完成所有这些。 Node非常擅长快速完成大量非常小的操作,所有操作都在一个线程上,听起来很适合你的应用程序。

如果您要进行CPU密集型计算,您可能希望将其移交给工作进程,但您仍然不希望每个游戏都有单独的进程。

答案 1 :(得分:1)

很可能,您需要加载平衡,无论您需要多少台服务器。如果您正在使用socket.io,那么您应该查看socket.io-redis(briefly covered here)以了解如何在多个服务器之间运行的连接仍然相互通信。使用这样的方法,您需要考虑这样一个事实:您无法将某些信息存储在内存中,而是需要持久保存到redis或类似的可访问介质,以供所有服务器访问。