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