我正在使用Kryonet(Java TCP/UDP网络库)在线实时多人在线游戏创建,我打算在AWS上托管。如何在AWS上扩展专用的EC2实例?
该架构如下:客户端连接到一个中央登录/帐户服务器,允许他们登录和查看他们的统计等。这一点很容易,因为它基本上只是一个REST API,可以缩放以一种非常标准的方式(就像任何Web应用程序一样)。
然而,更有趣的一点是,当玩家实际上打比赛时。为此,我打算有一个单独的“匹配”服务器(EC2)池。登录/帐户服务器将配对两个玩家,然后向客户端发送特定匹配服务器的地址。然后球员将加入那场比赛服务器,这将服务于他们的比赛(可能持续5-10分钟)。匹配服务器需要粘性,因为它将运行实时游戏实例,并且将实时发送/接收UDP数据包。每个匹配服务器可能能够举办几百场比赛。
我的问题是关于如何去扩展这些匹配服务器。我想我会让他们在启动时自动注册中央服务器,并发送一些类型的活着。我可以自己建立这一切;不过,我想知道AWS是否有能够为我完成这些工作的工具/服务。
你可能想看看[Amazon GameLift](https://aws.amazon.com/gamelift/)。 –
不幸的是,GameLift似乎不支持基于Java的服务器。 我不打算使用Unity或Unreal,而是使用Libgdx和Kryonet的组合。 – Jambo