GS2にリソースを作成

GS2 の各マイクロサービスにリソースを作成する

まずは、プロジェクトとリージョン、マイクロサービスの関係について理解を深めましょう。

プロジェクトとマイクロサービスは以下のデータ構造を持ちます。

Gs2Project "1" *-- "many" Region
Region "1" *-- "many" Microservice
Microservice "1" *-- "many" Namespace
Namespace "1" *-- "many" Resource

リージョン

プロジェクトの直下にはリージョンが存在します。

リージョンは GS2 がマイクロサービスを提供するのに使用しているデータセンターの地域を表します。

マイクロサービス

所持品の管理や、マッチメイキング、ゲーム内ストアなど様々な機能があります。 これらはリージョンごとにホストされ、マイクロサービスのデータベースは地域ごとに分断します。

リアルタイム通信ではプレイヤーの最も近い地域でホストしたマシンで動かすことが正義とされますが、GS2が提供するマイクロサービスの多くはリアルタイム性をそこまで求めない機能が大半を占めています。 そのため、GS2-Realtime のみ複数のリージョンに展開し、その他のマイクロサービスは1箇所のリージョンに固めて利用するという方法も考えられます。

ネームスペース

各マイクロサービスは複数のネームスペースを持つことができます。 ネームスペース間は完全に分断しますが、複数のスペースを持つことができます。

GS2-Inventory を利用する際に「消費型アイテムを保持するネームスペース」「ゲーム内通貨を保持するネームスペース」「入手したキャラクターを保持するネームスペース」のように分けて管理することができます。

リソース

各ネームスペースは固有のリソースを持ちます。 リソースには大きく2種類存在します。

  • マスターデータ
  • ユーザーデータ

マスターデータ

GS2-Inventory であれば、どのようなアイテムが存在するのか。GS2-Showcase であれば、どのような商品が販売されているのか。GS2-Schedule であればどのようなイベントが予定されているのか。

開発者側があらかじめ定めたデータを保持する領域です。

ユーザーデータ

ゲームプレイヤーが個別に保持するデータです。 GS2-Inventory であれば、アイテムをいくつ持っているのか。GS2-Quest であれば、どのクエストがクリア済みか。

ゲームを運営していく上で、勝手に増加していくデータを指します。


マネージメントコンソールを使用したセットアップ

マネージメントコンソールを使用してマイクロサービスにリソースを作成する

GS2-Deploy を使用したセットアップ

GS2-Deploy を使用してマイクロサービスにリソースを作成する

GS2-CDK を使用したセットアップ

GS2-CDK を使用して GS2-Deploy のテンプレートを作成する