推奨ソリューション アーキテクチャ
ソリューションの説明
- 従来のブラウザゲームのサーバーアーキテクチャは比較的シンプルです。基本的にロジック層とデータベース層の 2 層設計が使用されます。たとえば、最もシンプルなデプロイモデルは ECS 1 台と ApsaraDB RDS インスタンス 1 台で構成されるゲームサービスです。この設計には単一障害点などの明らかな欠点があります。ゲーム業界の競争が激化する中、ゲーム体験のわずかな改善も非常に重要です。そのため、Alibaba Cloud のブラウザカジュアルゲーム ソリューションでは高度なサーバーデプロイシナリオを提供しています。
- 1. 静的ゲームコンテンツの高速配信。開発者は CDN と Alibaba Cloud Object Storage Service を使用して、静的なブラウザゲームコンテンツ(テクスチャ、UI、オーディオ、サウンド、エフェクトなど)の高速配信サービスを構築できます。Alibaba Cloud の数百の CDN ノードは画像ダウンロードに最適化されており、中国本土の大部分をカバーしています。今後数か月以内にその他の主要グローバルリージョンにもカバー範囲を拡大予定です。Alibaba Cloud OSS と CDN のシームレスな統合により、OSS に保存されたオブジェクトの変更を自動検出して配信できます。CDN は API 制御を提供し、API からリソースのプリヒートを簡単に実行できます。OSS では画像の一括圧縮、トリミング、トランスコードなどの処理が可能です。
- 2. 多層ゲームセキュリティ。まず、Alibaba Cloud セキュリティサービスの高防御 IP アドレスと ESN 機能により、Alibaba Cloud Anti-DDoS 防御を提供します。次に、Alibaba Cloud セキュリティの WAF プロダクトがブラウザゲームサーバーとサイトの Web セキュリティを確保し、ハッカーによる Web 脆弱性を悪用した侵入を効果的に防止します。SCAN プロダクトはサーバーの脆弱性スキャンと脆弱性分析を定期的に実行します。さらに、パラメータ検証、操作結果のサーバー側再現、確認コードメカニズムなどのチート対策ポリシーもゲームサービスに追加されます。
- 3. 3 層サーバーアーキテクチャ。アーキテクチャ図に示すとおり、ブラウザカジュアルゲームのサーバー設計ではアクセス層、ロジック層、データ層を含む典型的な 3 層アーキテクチャを構築できます。アクセス層とロジック層はいずれもデータを持たないステートレス設計を採用しています。Alibaba Cloud Server Load Balancer (SLB) により各層の負荷分散を行い、単一障害点によるサービス停止を防止します。ブラウザカジュアルゲームでは、Alibaba Cloud Auto Scaling を使用してコアゲームロジッククラスターのスムーズな自動リサイズを実行できます。サーバーのロジックコンピューティング層はモジュラー設計で、主にグローバルサービスとクラスターサービスを提供します。データ層はプロキシ層、キャッシュ層、永続化層に細分化されます。ソーシャルカジュアルゲームには一般的にオフラインゲームプレイ要素があるため、複数のオンラインプレイヤーが同じオフラインプレイヤーとインタラクションし、データ整合性の問題が発生する場合があります。通常、読み書きロックを使用して同時データ読み書きに対応します。
- 4. 高い同時実行に対応する分散データベース ブラウザカジュアルゲームでは一般的にゲームワールドモードを採用しています。グローバルに共有されるデータのために永続化ストレージレイヤーが必要です。また、オフラインデータ操作が大量に発生するため、データ整合性を確保する読み書きロックサービスが求められます。開発者は Alibaba Cloud Distributed Relational Database Service と Relational Database Service を使用して、高い読み書き同時実行に対応する分散データベースを構築できます。たとえば、プレイヤーデータに対してデータベースとテーブルのパーティションを使用し、プレイヤー ID をテーブルパーティションキーとして設定できます。さらに、アーキテクチャ設計によりデータ永続化層での柔軟なデータリサイズが可能です。
