横向可扩展游戏状态节点js

时间:2020-04-11 17:03:37

标签: node.js state propagation

我正在创建纸牌游戏,目前正在尝试确定可扩展性的最佳方法。我最初的想法是能够水平缩放,这导致我实现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个在线客户,我是否只是在思考呢?如有必要,我应该坚持垂直缩放吗?

0 个答案:

没有答案