このページの本文へ

1億台の常時接続に耐えるスケーラビリティをロードバランサーなしで実現

Nintendo Switchのプッシュ通知を支えるテクノロジー

2019年01月15日 07時00分更新

文● 重森大

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

 テクノロジーに興味がある人なら、身近な製品の裏側って気になるもの。そんな知的欲求を満たしてくれるセッションが、昨年の夏に行なわれたre:Union 2018 Osakaには用意されていた。Nintendo Switchの裏側にあるシステムを紹介する「Nintendo Switch向けプッシュ通知システム『NPNS』」と題して、任天堂 ネットワークシステム部の渡邉 大洋さんが語ったセッションだ。フレンド登録したユーザーのゲームプレイ通知など、見慣れたあのメッセージは、こうやって送られていたのだ。

任天堂ネットワークシステム部 渡邉 大洋さんがSwitchのプッシュ通知システムについて解説

想定同時接続数1億台のリアルタイム通信インフラをAWSに構築


 AWS Summit Tokyo

 

 Nintendo SwitchNintendo Switch2000PC使NintendoSwitch使Nintendo Push Notification ServiceNPNS

プッシュ通知とはNintendo Switchの画面左上にぷちっと表示されるアレだ


1

 

使


 1NPNS使

AWS3Route53A使

 使使XMPP使XMPPID使Consumer API使Provider API

プッシュ通知以外にもAPIを通じて関連サービスと接続する


 使3Classic Load BalancerApplication Load BalancerHTTPXMPP使Network Load Balancer

 使NPNSConsulAuto Scaling使ConsulRoute53IPAuto ScalingXMPPConsulRoute53IP

1XMPP

アンヘルシーなサーバーから新規サーバーへ順次ユーザーを移行するドリップ処理


 2


 XMPP使ErlangejabberdXMPP on TLSr3.large172CPU

調Security GroupSecurity GroupNetwork ACLs

 TCPKeep Alive40%

L4Keep AliveNintendo SwitchL7Keep Alive50%

接続台数は増え続けているが、通知送信数は抑制できている


 7002200

Network Load BalancerNetwork Load BalancerConsul

 ejabberd

XMPPクラスターを構成するejabberdの改造点はとても細かい

※この記事は2018年8月に大阪で開催されたJAWS-UGのイベント「re:Union 2018」のレポートです。

カテゴリートップへ