我使用什么模式/技术来更新连接的用户?

问题描述

我正在创建一款用户可以相互竞争的游戏。这基本上是一个猜谜游戏。

规则如下:

  • 这是一组房间。每个房间可以连接 0-* 个用户
  • 每个房间都举办一场由 1-* 轮组成的比赛。
  • 每一轮的持续时间约为 30 秒。

此外,还有以下要求:

我已经创建了几个应用程序来促进这一点,但让我们关注最相关的:

  • game-frontend:用 Reactjs 编写的用户界面。
  • game-api:用 Spring Boot 编写的后端。

现在,前端通过 Websockets 连接到后端,身份验证/授权通过 JSON Web Tokens 完成。

我正面临一些挑战,我正在寻找朝着正确方向(概念上)的推动力。

  • 用户进入房间时,它会连接到 game-api。现在,game-api一个已连接用户的列表,因此它可以在发生变化时发出通知
    • 假设我需要将 game-api 扩展到更多实例。每个实例都有它自己的已连接用户列表,如果我需要从它未连接到的实例中通知用户,会发生什么?
      • 我想我需要一些用户连接的中心位置。所以我可以从那个地方发送通知。这样做的好概念/策略是什么?
  • 当游戏开始时,它会经过回合列表。这基本上是一个后台运行的进程。
    • 我研究了流程工作流引擎。我得到的印象是他们倾向于关注长期运行的流程/工作流程,而不是高性能
      • 是否有我不知道的更适合我的用例的东西?

任何指针/想法/建议将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...