推奨アーキテクチャ
ソリューションの説明
- 1. グローバルサービスのプライマリ/セカンダリディザスタリカバリ
- サービス範囲に基づき、ゲームサーバーのサービスはリージョンサービス (チャットサービスなど) とグローバルサービス (ゲートウェイサービスなど) に大別できます。グローバルサービスに障害が発生すると、ゲーム内のすべてのプレイヤーに影響が及びます。そのため、グローバルサービスの高可用性を確保する必要があります。これは ECS インスタンス上にプライマリ/セカンダリのデュアルアクティブノードを構築することで実現できます。
- 2. レイヤードアーキテクチャ
- MMO ゲームは、一般的な三層アーキテクチャ (アクセス層、ロジック層、データ層) を採用しています。アクセス層は主にゲームアカウントのログイン認証、通信パケットの復号、クライアント接続の管理を担当します。ロジック層はゲームの主要なサービスロジック (リージョン別ゲームサービス、チャット、ランキングなど) を実装します。データ層はデータ永続化ストレージと共有キャッシュを提供します。ApsaraDB RDS によりプライマリ/セカンダリデータベースのディザスタリカバリを確保し、読み書き分離や分散データベースにも対応します。ロジック層では、コアシナリオサーバーがシナリオに応じて柔軟にサービスを拡張でき、シングルゾーンの最大同時接続プレイヤー数の向上に貢献します。
- 3. クロスリージョンエラスティックデプロイメント
- さまざまなリージョンの Alibaba Cloud データセンターに、異なるゲームサーバーをデプロイできます。Alibaba Cloud の Auto Scaling (ESS) と組み合わせることで、開発者は自動サーバー起動システムを容易に構築でき、ユーザーへの近接アクセスを提供してネットワークアクセス品質を向上させます。
- 4. 専用データキャッシュ
- 個々のゾーンで多数の同時接続プレイヤーに対応するため、MMO ゲームでは ApsaraDB for Redis と ApsaraDB for Memcache を使用してキャッシュ層を構築し、プレイヤーのゲームデータの読み書きを高速化します。これによりバックエンドデータベースの読み書き負荷も軽減できます。キャッシュ内のデータは定期的にバッチ処理で永続化ストレージに書き出されます。
- 5. ゲームアップデートパッケージのダウンロード
- Alibaba Cloud CDN と Object Storage Service (OSS) を基盤とするゲームアップデートパッケージのダウンロードシステムにより、頻繁な MMO ゲームクライアントのアップデートパッケージを効率的かつ手軽に配信できます。
