
Robloxのエンジニアリング シニアバイスプレジデントAnupam Singh氏は、同社のプラットフォームが記録的なトラフィックを支えるための技術を公開しました。
同プラットフォーム上のゲーム『Grow a Garden』は、同時プレイヤー数2160万人でギネス世界記録「最も同時にプレイされたビデオゲーム」に認定されました。Robloxのプラットフォーム自体も、同時接続3000万人を超える新記録を樹立しています。
Robloxの同時接続記録を支えるインフラ
Robloxは世界24か所のエッジデータセンターを運営しており、ユーザーがゲームに参加する際にはレイテンシを最小化するため、最寄りのデータセンターの最適なインスタンスにマッチングされます。
また、ウェブサイト、推薦アルゴリズム、安全フィルター、仮想経済、パブリッシングプラットフォームなどの中央集権的サービスを実行する2つのコアデータセンターも管理しています。

最大2年先を見越して予測
以前は年1回のペースで1~2年先のキャパシティを計画していましたが、『Dress to Impress』『Fisch』『Dead Rails』『Grow a Garden』などの成功を受けて、現在は最大2年先まで予測する手法に移行しました。
ブラジルのデータセンターなど、新しいデータセンターは数年前から計画されています。ケーブル断線のような事態に備え、「ダークキャパシティ」も用意しています。
Robloxのエンジニアリングチームは、ゲームの人気が急上昇した事例から学習し、毎週月曜から金曜まで曜日ごとに内容を定め、継続的に計画、テスト、キャパシティ調整などを実施しています。
クリエイターに制限を課さないシステムを構築
同社は「コミュニティを尊重する」価値観に基づき、クリエイターに制限を課すのではなく、システム側で対応する方針を採用しています。
例えば、数百万人のプレイヤーが同時にプレイボタンをクリックした際のマッチメイキングシステムでは、スロットリングや待機時間の設定ではなく、システム全体を再設計して大量同時アクセスに対応しました。
Robloxが構築したシステムは、ピーク時に毎秒40億通りの組み合わせに対応可能です。また、セルラーインフラストラクチャへの移行の一環として、クラウドバーストの実験を行っています。これにより、動的かつ計算効率の高いスケーリングが可能となりました。
テキストフィルターシステムは、ピーク時に毎秒25万リクエストを処理。300以上のAI推論パイプラインが本番環境で稼働しており、Robloxのサービスオーナーは、GPUとCPU間での推論プロファイルの最適な組み合わせを見つけることに多くの時間をかけています。
レジリエンスのための取り組み
システムの耐性確保のため、同社は「TACO(Test Actual Capacity On)Tuesdays」と呼ばれる取り組みを実施し、毎日いくつかのサービスのキャパシティを本番環境で制限してテストを実施しています。
また、「C3(continuous capacity correctness、継続的容量精度)システム」というダッシュボードを使用し、各エンジニアリングチームがサービスのCPU容量を予測・管理しています。今年は、カオステストプラットフォームも構築しました。
責任を果たすため、役員を含む全員が協力して対応
週末のアップデートに備えて、平日はテストを実行。エンジニアが協力して変更を監視し、金曜日にはクラウドリソースによる追加容量の必要性を判断し、必要に応じてクラウドパートナーと協力して、数百万人の追加プレイヤーに対応できる仮想エッジデータセンターを構築します。
最高レベルの役員を含む全員がオンコール対応を交代で担当。土曜日の数百万ユーザーの急増時に発生し得る数百のアラートに備えています。チームはこれらのアラートを事前に解決することに取り組んでいます。

Anupam Singh氏は、技術の限界に挑むきっかけをくれるクリエイターとプレイヤーへの感謝の思いを述べており、今後も同社は新たな記録を打ち立てていくことになりそうです。