Upgrade to Pro — share decks privately, control downloads, hide ads and more …

いまどきのゲームサーバアーキテクチャ

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

 いまどきのゲームサーバアーキテクチャ

社内でLTしたときの資料です

Avatar for Yasutomo Uemori

Yasutomo Uemori PRO

January 17, 2024
Tweet

More Decks by Yasutomo Uemori

Other Decks in Technology

Transcript

  1. いまどきのステートレス vs ステートフル 簡単なwebアプリケーションなら、事前にデータフォーマットを定義し、リクエストを受けるたびに、DBからユーザの情報を読み取り、処理後DBに書き込みする ことが一般的です。ネットゲームにおいて、強いコンテキストを持ち、ユーザ間の連携も多いです。もし同じモードを採用すると、 DBの処理とロジックの処理の 間、ボトルネックになりやすい、このボトルネックネックは通常キャッシュをレイヤーを追加するだけで解決できないことが多いです 。
 Skynetでゲームホストする場合は、同期的にデータをDBに保存することはおすすめしません、代わりにインメモリのDBに保存したほうが良い。 サービス、アプ

    リロジックやゲームデータは全部メモリで常駐します。もしDBはあなたのフレームワークの一部でしたら、殆どの場合バックアップとして使うべき。データの状態 が変わったもしくは定期的にDBに保存します 。アプリは直接メモリからデータを呼びます。 
 • インフラ技術やミドルウェア、クラウドの発展によりDBのボトルネックは回避されやすくなった • インメモリ=アプリロジックの処理をどこでやるか?が決定的な差異  ➔ インメモリの処理をクライアントに依存しているのが今のステートレスサーバの正体  ➔ ビジネス要件がクライアントのインメモリ処理で事足りている(特にチート対策)
  2. Proxyの採用による固定IPの排除 「Protect Multiplayer Game Servers From DDoS Attacks Using Amazon

    GameLift」より https://aws.amazon.com/jp/blogs/gametech/protect-multiplayer-game-servers-from-ddos-attacks-using-amazon-gamelift-2/