一个游戏使用node.js/express的会话数

Number of sessions with node.js/express for a game

本文关键字:js express 会话 node 一个 游戏      更新时间:2023-09-26

我想使用Node.js/Express/Paassport创建一个基于选择的文本冒险游戏,客户端是带有jQuery的HTML5。为了更好地了解我想要什么,以下是迄今为止游戏的工作原理:

  • 客户端的浏览器通过jQuery向服务器发送一个JSON对象,以设置一个新游戏
  • 服务器启动一个新的Express会话,并发送一个带有场景文本和选择按钮数据的JSON对象
  • 客户端点击一个选项,向服务器发送一个JSON对象,其中包含下一步要调用的场景等信息

这一直在游戏中进行,每隔一段时间服务器就会访问会话数据来修改玩家的库存、健康状况等。

如果我想让游戏一次支持数百名玩家,我该如何让Express一次处理这么多会话?我主要关心的是node.js服务器的整体速度以及RAM的使用情况。

100s不是很多:)在这个卷上,你可能不需要特别考虑这个问题-在解决它之前看看你是否有问题。文件I/O可能是这里的主要瓶颈,所以尽可能多地将全局游戏数据缓存在内存中。如果您确实发现遇到了规模问题,请从使用节点cluster模块在同一台机器上利用多个CPU开始。。。如果这还不够,您可以在多台服务器上运行节点代码,并在它们前面安装一个负载均衡器。扩展的关键是将会话状态存储在任何服务器都可以访问的数据库中。