我正在尝试在 Heroku 上使用 Node / SocketIO 构建实时多人游戏,但不确定如何处理多个 dynos 以共享 SocketIO 连接数据。
例如:
- 我有 2 个 Heroku 测功机,每个都运行 Node + SocketIO
- 玩家 A 主持游戏,dyno 1 处理该连接
- 玩家 B 尝试加入同一个游戏,但由于 Heroku 路由器,dyno 2 最终处理了该连接。
- 游戏中的动作需要实时发生,所以当玩家 A 执行一个动作时,玩家 B 需要立即看到该动作的结果。
在单测功机环境中,这将相对简单。当玩家 A 执行一个动作时,它只是被发送给玩家 B。当有多个测功机时,这将如何工作?