所以我正在学习node.js并制作一个随机播放器与玩家卡片游戏。我将使用套接字和会话。
理论上很多游戏同时运行。
这里的最佳做法是,我是否为每个游戏生成节点服务器的子进程,或者只是保留正在进行的游戏和'板的数据。在主服务器中,每次有动作时只抓一个给定的游戏?
答案 0 :(得分:2)
假设没有密集的CPU处理,你应该在一个过程中完成所有这些。 Node非常擅长快速完成大量非常小的操作,所有操作都在一个线程上,听起来很适合你的应用程序。
如果您要进行CPU密集型计算,您可能希望将其移交给工作进程,但您仍然不希望每个游戏都有单独的进程。
答案 1 :(得分:1)
很可能,您需要加载平衡,无论您需要多少台服务器。如果您正在使用socket.io,那么您应该查看socket.io-redis(briefly covered here)以了解如何在多个服务器之间运行的连接仍然相互通信。使用这样的方法,您需要考虑这样一个事实:您无法将某些信息存储在内存中,而是需要持久保存到redis或类似的可访问介质,以供所有服务器访问。