本セッションでは、『FINAL FANTASY VII EVER CRISIS』のゲームサーバーが「全世界同時リリース」と「250万DAUに対応する構成」の目標を達成するために採用したパフォーマンス向上策と、実際に20万rpsを計測した負荷試験とチューニングの内容を紹介します。具体的には、リクエスト単位でキャッシュする独自開発のORMを用いたデータベースアクセス数の削減や、共通のリクエスト・レスポンスを活用したユーザーデータの差分同期など、効率化へのさまざまなアプローチにより、1vCPUあたり300rpsを処理できるGo言語で実装したゲームサーバーの構造を詳しく述べます。また、全世界同時リリースを実現するための多言語対応やマスター管理の方法についても解説します。
講演者プロフィール
永田 員広
2012年に株式会社サイバーエージェントに新卒入社し、複数の新規スマートフォン向けゲームの立ち上げから運用まで従事。『FINAL FANTASY VII EVER CRISIS』ではバックエンドのリーダーを勤め、基盤改修から共通機能などを中心に担当。
《講演者からのメッセージ》
『FINAL FANTASY VII EVER CRISIS』のゲームサーバー開発では、データベースアクセスの削減だけでなく、sync.Poolを用いたメモリの再利用やマスターデータのカスタマイズによるCPU負荷の軽減など、多様な技術対策を実施しています。また、n+1問題を回避しつつ、複数の処理を効率的に単一処理として扱えるように、ロジックのわかりやすさにも注力しています。本セッションでの内容が、ゲーム開発に携わる皆さまの参考になれば幸いです。