私はAWSでホストする予定のKryonet(Java TCP/UDPネットワーキングライブラリ)を使用してオンラインのリアルタイムマルチプレイヤーモバイルゲームを作成しています。AWSで専用EC2インスタンスをどのように拡張するのですか?
アーキテクチャは次のとおりです。クライアントは、ログインや統計情報の表示などを可能にするセントラルログイン/アカウントサーバーに接続します。このビットは基本的にはREST APIであり、かなり標準的な方法で(あなたがどんなwebappでもそうです)。
しかし、プレイヤーが実際に試合をするときに、より興味深いビットが表示されます。このために、私は "マッチ"サーバー(EC2)の別のプールを持つ予定です。ログイン/アカウントサーバは2人のプレーヤをペアにし、クライアントに特定のマッチサーバのアドレスを送信します。プレイヤーはそのマッチサーバーに参加し、試合をホストします(おそらく5-10分持続します)。マッチサーバーは、ゲームのリアルタイムインスタンスを実行し、リアルタイムでUDPパケットを送受信するため、固定されている必要があります。各マッチサーバーはおそらく数百のマッチをホストすることができます。
私の質問は、これらのマッチサーバーをどのようにスケーリングするかについてです。私はスタートアップ時に中央サーバに自動登録し、何らかのタイプのキープを送信することを想定しています。私はこのすべてを自分で作ることができました。しかし、私はAWSにこれすべてを私のためにできるツールやサービスがあるのだろうかと思っています。
[Amazon GameLift](https://aws.amazon.com/gamelift/)をご覧ください。 –
残念ながら、GameLiftはJavaベースのサーバーをサポートしていないようです。 UnityやUnrealではなく、LibgdxとKryonetの組み合わせを使用する予定です。 – Jambo