推奨アーキテクチャ
ソリューション概要
- 1. ゲームサーバーのポータルには Alibaba Cloud Server Load Balancer を使用します。ゲームのトラフィック量が増加して単一サーバーの処理能力に限界が生じた場合、必要に応じてゲームサーバーを増設できます。Server Load Balancer はレイヤー 4 TCP/UDP およびレイヤー 7 HTTP/HTTPS の負荷分散に対応しています。Alibaba Cloud ECS は垂直方向の設定アップグレードとエラスティックスケーリングをサポートしています。Server Load Balancer と組み合わせることで、ECS ベースの自動水平スケーリングアーキテクチャを構築できます。これにより、さまざまな柔軟なスケーリング機能を実現します。
- 2. ゲームデータとプラットフォームデータはいずれも ApsaraDB for RDS を使用します。ApsaraDB for RDS のプライマリ / セカンダリアーキテクチャにより、コアデータを SPOF リスクから保護できます。さらに、ゲームのトラフィックが増加した場合、必要に応じてデータベースをホットアップグレードできます。ApsaraDB for RDS は、直感的なスロー SQL 診断や包括的な SQL 操作レポート、プライマリキーチェック、インデックスチェックなど、データベース最適化に関する専門的なアドバイスを提供します。これにより、お客様のゲームデータやコアプラットフォームシステム (課金決済システムやログインシステムなど) の安定稼働を実現します。
- 3. 1 台の ECS ゲームサーバーは、A と B の 2 つのランタイムコンテナの並列デプロイに対応しています (Java 開発プラットフォームの場合、コンテナは Tomcat)。ゲームサーバーにはリバースプロキシ (Nginx など) がデプロイされ、コンテナ A に振り向けられます。グレーリリースのコードはコンテナ B にデプロイされ (Java 開発プラットフォームの場合は WAR パッケージ)、リバースプロキシが B に切り替わります。これにより、ユーザーに中断や影響を与えることなくグレーリリースを実行できます。新しいリリースに問題が発生した場合は、リバースプロキシをコンテナ A に戻すことでロールバックが完了し、ゲームユーザーはその変更に気づくこともありません。
- 4. Alibaba Cloud の高 I/O SSD ECS 上に、独自構築の MongoDB などのデータベースサービスを導入することもできます。高速かつ安定したランダム読み書き性能と 100 Mb/s を超えるストレージスループットにより、ECS SSD は NoSQL データベースに必要な I/O 性能を提供します。さらに、分散三重化メカニズムにより、堅牢なデータ信頼性を実現します。
- 5. アプリケーションソフトウェアパッケージがインストール済みの ECS では、カスタムイメージとデータディスクのスナップショットを使用して新しいサーバーをバッチ作成し、迅速に起動できます。
