0
0

More than 1 year has passed since last update.

グローバル同一サーバーを採用するゲームのバックエンドアーキテクチャのソリューション

Posted at

グローバル同一サーバーを採用するゲームのバックエンドアーキテクチャのソリューション
前回は2種類のバックエンドアーキテクチャの長所・短所を比較した。今回はグローバル同一サーバを使用する場合の技術的ソリューションを説明する。

1, グローバル同一サーバのアーキテクチャ

このタイプのアーキテクチャでは、全世界でプレイヤーが同じサーバクラスタに接続する。最大の課題は遅延である。特にネット環境が遅れているリージョンでは、パケットロスやジッターなどにより、ゲームプレイが不安定になってしまう。
そのため、グローバル同一サーバを実現するには、通信速度を高め、各リージョンのプレイヤーがバトルサーバーに接続した際の通信環境と安定性を向上させることが必要となる。
通信速度の向上には主に次の2つの方法がある。

1,サーバをできるだけプレイヤーと物理的距離が近い場所に設置する。
2, 長距離のパブリックインターネットを安定したプライベートネットワークに変更する。

1:プレイヤーとサーバとの間の物理的距離を短縮させることについて
よく使われているCDNが一例である。この方法は画像のような静的コンテンツへのアクセスを加速させることができる。テンセントゲームズではCDNとCOSを併用し、静的コンテンツへのアクセスを加速させている。

2:長距離のパブリックインターネットを安定したプライベートネットワークに変更。
たとえば下記のサービスが使われている。

テンセントクラウド GAAP(グローバル・アプリケーション・アクセラレーション・プラットフォーム) https://cloud.tencent.com/product/gaap

テンセントクラウド AIA(Anycast インターネット加速) https://cloud.tencent.com/product/aia

これらはすべてプライベートネットワークによってリージョンを跨いだ加速を実現するものだ。
筆者はテンセントクラウドについて比較的詳しいため、以下ではテンセントクラウドを例にそのメカニズムを説明する。
GAAP(グローバル・アプリケーション・アクセラレーション・プラットフォーム)はサービスにアクセスする際の遅延を最小限に抑えるPAAS(Platform as a Service)である。全世界にあるノード間の高速コネクション、転送クラスタ及びスマートルーター技術を利用することにより、各地のユーザーが最寄りのノードに接続できるようにするほか、トラフィックをオリジンサーバーのリージョンに転送することで、ラグや遅延を解決するものである。
GAAPの誕生は、IEG(テンセント・インタラクティブ・エンターテイメント)のゲームの動作を加速させるのに、中国のプレイヤーが米国のAWSを利用したことがきっかけだった。当時のソリューションは、「Fullnat+toaで、TCPプロキシとIP透過を実現する」というもので、これをもとにテンセントクラウドがさらに研究を進め、GAAPを開発した。
image.png
GAAPのメカニズムは簡単だ。高速コネクションの入り口とオリジンサーバーのリージョンにある出口にそれぞれ転送クラスタを設置し、長距離のパブリックインターネットの一部をプライベートネットワークに変更することで、ネットワークの安定性を向上させるものだ。
image.png
GAAPの最大の強みは、クライアントとサーバサイドがテンセントクラウドのマシンでなくてもよいことだ。テンセントクラウドのノードまでの距離が利用可能な近さであればこのサービスを利用できる。この強みによって、上図のようにグローバル同一サーバを実現させることのほか、オンラインゲームの加速ツールにもよく使われている。後者の場合、クライアントは本物のユーザーであり、オリジンサーバはAWSなどテンセントクラウド以外のマシンとなる。

プレイベートネットワークによる加速の技術にはほかにAnycastがある。テンセントのAIA(Anycast インターネット加速)がそれにあたる。
AIAのメカニズムも簡単だ。Anycast方式でIPを同時に複数のリージョンにリリースし、クライアントのトラフィックはパブリックネットワークのみを経由し、最も近いテンセントクラウドのノードに到着する。その後テンセントクラウドのプライベートネットワーク専用回線により目的アドレスに到達するものだ。
テンセントクラウドのAnycast IPはテンセントクラウドのバックエンドサーバやCLB(クラウドロードバランサー)にバンドリングさせることができ、通常のIPと同じ感覚で使えるため、非常に手軽だ。
GAAPと比べ、AIAのデプロイメントはより簡単である。単一のIPでDNS不要、アーキテクチャが明確、などの特長がある。しかし、AIAのバックエンドはテンセントクラウドのマシンでなければならず、サードパーティのマシンに接続するには別途セッティングが必要となる。
image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0