ニュース

世界で何百万人ものプレイヤーが同時にプレイ「Pokémon GO」を支えるシステムをエンジニアが紹介

 グーグルは、Google Cloudブログで「Pokémon GO」のサーバーインフラチームを率いるジェームズ氏のインタビュー動画を公開している。

 「Pokémon GO」は、ナイアンティックとポケモンが提供する現実世界の位置情報や地理情報を利用したスマートフォンゲーム。

 ジェームズ氏は、「Pokémon GO」の最大の特徴はコミュニティ機能だという。「Pokémon GO」では「コミュニティデイ」や「レイドアワー」などのライブイベントを定期的に開催している。加えて、同氏がゲーム内の重要な要素として位置付けられている「Go Fest」を年に一度の大イベントとして夏に開催している。これらのイベント中は、一秒間に40万件だった処理が100万件近くに上昇するという。

 このようなトラフィックを処理するために、エンジニアリングチームはどのような対処をしているのか。

 ジェームズ氏によると、主に「Google Kubernetes Engine」と「Cloud Spanner」のサービスを利用しているという。常時、約5000台のSpannerノードがトラフィックを処理している。また、「Pokémon GO」専用の数千のKubernetesノードと、ゲーム体験を向上させるさまざまなマイクロサービスを実行するGKEノードがある。これら全てが連携することで、世界中の数百万人のプレイヤーにサービスを提供することができるという。

 インタビュー動画では、ポケモンを捕まえたときに何が起こっているのかや不正の検出などについても言及されている。