node.js - 水平可扩展游戏状态nodejs
问题描述
我正在创建纸牌游戏,目前正在尝试确定可扩展性的最佳方法。我最初的想法是能够水平扩展,这导致我实现了 socket.io 和 redis 在实例之间传播消息。我现在正试图弄清楚如何在实例之间共享游戏状态,以这个伪代码为例
class Game {
this.games = {};
async updateGameState = () => {
this.games[game_id] = {game: state}
persistState()
}
persistState = () => {
database.update(this.games[game_id])
}
}
我应该如何从将游戏状态存储在内存中到跨实例传播游戏状态,我最初的想法也是Redis。
从最受欢迎的在线赌场来看,一次似乎只有大约 10,000 名客户在线,我只是在想它吗?如有必要,我应该坚持垂直缩放吗?
解决方案
推荐阅读
- c# - 用 C# 替换空格
- python - 忽略路径字符串中的特定单词
- unity3d - Apk 文件在“构建和运行”之后去哪里?
- c# - 为什么 System.Net.Http.HttpMethod 是一个类,而不是一个结构?
- xml - 有没有一种简单的方法来表示 xsl 样式表中的引号?
- google-maps - 谷歌地图样式版本 - 即使在关闭可见性后,标签也有笔触效果
- typescript - 界面中的分隔符有什么区别?
- jquery - Jquery:如何循环遍历大数据量的xml数组
- gradle - 如何在 Gradle 中获取与 init 脚本相对应的脚本实例?
- selenium - JMeter 是否使用 junit 采样器测量服务器响应?