このページの本文へ

“すぐに再生スタート”できる独自の配信技術から、“秒間3万リクエスト”にも耐える強いインフラまで

「Nintendo Music」の裏側に技術と工夫 快適な“ゲーム音楽体験”を届けるために

2025年08月08日 16時15分更新

文● 福澤陽介/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

常時安定稼働を実現する、API周りのサーバー構成

 続いては、ゲーム音楽の「探索体験」を支えるAPI周りの技術だ。

 APIの提供では、3つの技術特性を重視している。ひとつ目は「常時安定した稼働」だ。Nintendo Musicは、40を超える国や地域で配信されているため、ユーザーのタイムゾーンはバラバラだ。ピーク時間帯は「通勤通学時間」や「お昼休み時間」だが、常にどこかの地域でピーク時間帯を迎えることになるため、常に安定したサービス提供を維持する必要がある。

常に安定した稼働が求められた

 2つ目は「突発的なアクセス増加への対応」だ。リリース直後や注目コンテンツの追加といった事前準備ができるケースだけでなく、突発的なアクセス増加にも対応しなければならない。3つ目は「安定したユーザー体験の提供」だ。Nintendo Musicの目的は、ゲーム音楽を楽しんでもらうことであり、ストレスなくアプリが利用できるよう、高速かつ安定したレスポンスも重視した。

 これらの特性を満たすインスタンスの起動速度やスケーラビリティを評価して、APIサーバーには、Google Cloudのサーバーレスコンテナ実行環境「Cloud Run」を採用している。

 保守工数削減やスパイク(アクセスの急増)対応の観点では、Cloud Runに加え、開発言語に「Go」を採用して、コンテナの迅速なスピンアップによるスケールの高速・安定化を図っている。また、永続層(データベース)には、マネージドかつスケールが容易なサーバーレスのNoSQLデータベース「Firestore」をDatastoreモード(従来のDatastoreと同様の動作をするモード)で利用している。

 また、安定したサービス提供の観点では、Cloud Runの前段に「Cloud Load Balancing」を導入した。IP Anycastによる高可用性・低遅延・高速応答に期待しての採用であり、TLS終端でラウンドトリップタイムの最小化も図れる。さらに、前段でもCDNを配置して、更新頻度が少ない曲のマスターデータやアセットをキャッシュ。一方で、ユーザーの視聴状況に応じて動的に生成されるデータや、自作のプレイリストといったキャッシュが利かせにくいものは、経路最適化だけに留めている。

API周りのサーバー構成

 永続層へのアクセスにおいては、Cloud Run上で「メモリキャッシュ」も活用する。「特にマスターデータ系のアクセスは、要求されるキーやエンティティの偏りが原因でHotspot(過度な負荷がかかる領域)が発生する懸念がある、この解決と永続層そのものへのリクエストを減らすために、メモリキャッシュも併用する」と灘友氏。

 具体的には、永続層からのリソースの取得を2段階に分けてキャッシュする方式をとる。第1段階では、取得したいリソースのIDを解決して、その解決されたIDを「ID Cashe」に入れる。このID解決に、Datastoreの「Keys Only Query」を利用するのが、2段階方式を採用した理由だ。射影クエリの一種であるKeys Only Queryは、エンティティのキーだけが返却される仕組みで、レイテンシとコストを低減できる。最初からID指定でリソースを要求するケースは、第1段階をスキップして、第2段階に進む。

メモリキャッシュの第一段階

 第2段階では、第1段階で処理・解決したID、もしくは直接指定されたIDに紐づくリソースを取得して「Resource Cashe」に入れる。そして、キャッシュにないリソースのみをFirestoreから直接取得する仕組みとなっている。「こうした戦略は、Cloud Run上のインスタンス毎にメモリキャッシュの状態が異なり、構成も複雑になるが、安定化とレスポンス速度の向上、コスト削減を実現できる」(灘友氏)

メモリキャッシュの第二段階

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

アクセスランキング

  1. 1位

    ITトピック

    IT技術者の4割が「5年後のスキル陳腐化」に危機感/働くシニアは多いが「長く働きやすい」環境ではない日本/トークンコストの成果証明は難しい、ほか

  2. 2位

    デジタル

    Zscaler Internet AccessのIKEv2接続例 ヤマハRTX1300でZIA経由の冗長IPsec VPNを構築する方法

  3. 3位

    データセンター

    AIデータセンターの「電力・冷却課題」打破へ シュナイダーが営業・設計・現場を直結する新組織立ち上げ

  4. 4位

    sponsored

    先制的サイバーセキュリティのため、経営者が今こそ考えるべきこと

  5. 5位

    トピックス

    モンハン、FF、エスコン8……注目作だらけで整理券が消えた!? SIEブースの人気がすごい【TGS2026特集】

  6. 6位

    ビジネス・開発

    ラスボスCOBOLを倒すために、7チームはなにを選択し、なにを捨てたのか?

  7. 7位

    デジタル

    Cloudflare WANとの接続検証でRTX1300/RTX840が確認、IPsecや自動切替に対応

  8. 8位

    サーバー・ストレージ

    「身代金を払えば復元できる」は過去の幻想――約束を守らない攻撃者と変容するランサムエコシステム

  9. 9位

    ビジネス・開発

    AI駆動型開発で生産性倍増を狙うIBM セキュリティ、トークンコスト、品質の課題をどう解決する?

  10. 10位

    トピックス

    ガンコンが令和に復活!? 『タイムクライシス』を足踏みペダルで遊べてクッソ懐かしい【TGS2026特集】

集計期間:
2026年09月18日~2026年09月24日
  • 角川アスキー総合研究所