Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Amazon Event Bridge による次世代の Pub/Sub
Slide 2
Slide 2 text
自己紹介 丹羽 一智 携帯電話向けのゲームおよびサーバ開発業務 ニンテンドー3DSのOS開発 ゲームサーバの開発・運用 Nintendo Switchのサーバシステム設計 設立 代表取締役 に就任 2006 2009 2016
Slide 3
Slide 3 text
ゲーム開発の効率化を実現するための Backend-as-a-Service スクラップ&ビルドを繰り返している ゲームサーバシステム開発のループから サーバレスアーキテクチャへ移行することで脱却
Slide 4
Slide 4 text
Amazon Event Bridge
Slide 5
Slide 5 text
これまでのメッセージング イベント元 トリガーされる 処理 イベント
Slide 6
Slide 6 text
これまでのメッセージング イベント元 トリガーされる 処理 失敗したときどうしよう イベント
Slide 7
Slide 7 text
これまでのメッセージング イベント元 トリガーされる 処理 イベント SQS イベント 失敗したとき再送
Slide 8
Slide 8 text
新しいメッセージング イベント元 トリガーされる 処理 イベント Event Bridge イベント 失敗したとき再送
Slide 9
Slide 9 text
これまでのメッセージングの課題 SQS トリガーされる 処理 イベント is 何?
Slide 10
Slide 10 text
これまでのメッセージングの課題 SQS トリガーされる 処理 イベント is 何? ソースは人間向け資料のみ
Slide 11
Slide 11 text
イベント構造を管理 イベント元 トリガーされる 処理 イベント Event Bridge イベント Event Bridge Schema Registry フォーマットバリデーション(オプション) スキーマを登録 Schema Registry で見たやつだ
Slide 12
Slide 12 text
イベントをフィルタ SQS Lambda イベント そのイベント興味 ないわー。捨てとこ 実行したならお金 貰いますねー
Slide 13
Slide 13 text
イベントをフィルタ イベント元 トリガーされる 処理 リソースA or B のイベント Event Bridge Event Bus Event Bridge Event Rule リソースA のイベント リソースA or B のイベント Event Bridge Event Rule リソースAのイベント のみ知りたい
Slide 14
Slide 14 text
次世代のSNS/SQS S3 Lambda SNS SQS Event Bridge Event Bridge Event Bus Event Bridge Event Rule
Slide 15
Slide 15 text
次世代の Webhook Webhook Event Bridge Webサーバ 必要 不要 スキーマ定義 なし あり イベントのフィルタリング 発信元に依存 あり 疎通失敗時のリトライ 発信元に依存 あり 統一的な仕様 なし あり
Slide 16
Slide 16 text
イベントハブによって SaaS は BaaS へ SaaS の多くは ブラウザ(UI) を軸としたサービス提供だった。 1つの SaaS が全てのビジネスを賄えない以上、他サービスとの連携は今後さらに 重要な要素になっていく。 そのとき、WebHook は前時代的であり、Amazon Event Bridge のような イベントバスを利用するのが主流になっていくでしょう。
Slide 17
Slide 17 text
実用例
Slide 18
Slide 18 text
ゲームがサーバに求めるニーズは非常に多様 それらをすべて実現できるようにするには システムの拡張性が重要 個別案件ごとのカスタマイズをすることなく ニーズを満たせるようにするには イベントドリブンアーキテクチャが最適でした
Slide 19
Slide 19 text
GS2 での実用例 • GS2-Account 匿名アカウントを登録。メールアドレスやパスワードの登録を後回しに。 GS2 Event Bridge アカウント新規作成 処理 アカウントの初期設定 顧客のAWSアカウント
Slide 20
Slide 20 text
GS2 での実用例 • GS2-Account 匿名アカウントを登録。メールアドレスやパスワードの登録を後回しに。 GS2 Event Bridge メールアドレス・パスワード または、ソーシャルアカウントを登録 処理 非匿名アカウントの 利用状況の統計を計算 顧客のAWSアカウント
Slide 21
Slide 21 text
GS2 での実用例 • GS2-Inventory ユーザに紐づく所持品などのリソースを管理。 所持数制限や有効期限管理といった機能も利用可能。 GS2 Event Bridge クーポンを入手・消費 処理 クーポンの所持数量の統計を計算 顧客のAWSアカウント
Slide 22
Slide 22 text
GS2 での実用例 • GS2-Experience 経験値・ランクを管理するサービス。 GS2 Event Bridge フォーラムにたくさん投稿して ランクアップ 処理 クーポンをプレゼント 顧客のAWSアカウント
Slide 23
Slide 23 text
GS2 での実用例 • GS2-Chat WebSocketを使用したリアルタイムチャット。 GS2 Event Bridge 新規メッセージを受信 処理 メールにメッセージを転送 顧客のAWSアカウント
Slide 24
Slide 24 text
GS2 での実用例 • GS2-Formation キャラクターの装備やパーティ編成を実現する。 GS2 Event Bridge お気に入りの動画を マイリストに登録 処理 マイリストの登録数を カウントアップ 顧客のAWSアカウント
Slide 25
Slide 25 text
GS2 での実用例 • GS2-Stamina 時間経過で回復するポイントを実現。 GS2 Event Bridge 漫画を読むために スタミナを消費 処理 ライセンスサーバに 漫画を読める権利を付与 顧客のAWSアカウント
Slide 26
Slide 26 text
GS2 での実用例 • GS2-Friend 双方向のフレンド、または単方向のフォローを管理。 GS2 Event Bridge ユーザをフォロー 処理 フォロイーに通知 顧客のAWSアカウント
Slide 27
Slide 27 text
GS2 での実用例 • GS2-Inbox プレゼントボックス・通知ボックスを提供。 GS2 Event Bridge メッセージを既読に 処理 既読率を集計 顧客のAWSアカウント
Slide 28
Slide 28 text
Thanks