我被要求建立一个使用Play(java),Akka和websocket扩展的聊天室。
Play提供了一个示例,可以做我想做的事,并且效果很好。
现在我需要处理缩放问题。我不熟悉游戏和扩展问题,所以我很难找到可以扩展的解决方案。或者至少证明样本会缩放(我对此表示怀疑)。我知道演员系统提供了很好的性能,但我如何确定它会扩展?
你们中有没有人能够解释我/为我提供链接来解释如何构建真正可扩展的应用程序?架构是什么?
我在 Heroku 上找到了一个示例,但我想要 heroku 的替代品。也许 akka.cluster 是一个?
谢谢
虽然这不是你要找的技术堆栈,但可扩展聊天是一个 Scala 项目,它使用 akka 集群来扩展后端的聊天室。它不是在前端播放,而是使用ScalaFX客户端,但原理和架构是相同的。
通信层将akka-io与akka-stream一起使用,计划在websockets可用时使用akka-http。
不幸的是,该示例尚未显示使用多个聊天室进行扩展,但对多个用户进行了扩展,并使用 akka-persistence 与群集感知路由器进行聊天历史记录。该项目的另一个计划是对持久性用户和聊天室参与者使用集群分片。
虽然此示例没有为您提供完整的解决方案,但也许它可以为使用 Akka 集群构建可扩展的聊天室后端提供一些灵感。