クライアントサイドから見えるサーバーサイド技術
RDB, KVS MySQL AWS, GCP Docker Go, Rust 最新の技術に触れるだけでは見えてこない サーバーサイド技術の外観をとらえたい
2000年代中頃までの コンピューターゲームは関数 思考: 1.未来予測 2.結果評価 3.行動選択 観測 光 音 出力信号 行動 出力=ゲーム(入力) 入力信号
ゲームエンジニアの仕事は 関数の最適化だった 読み書き メモリ 足し算 CPU 磁気ディスク 読み書き この図以外に描画負荷の低減
企画段階からゲームにオンライン要素が盛り込まれる 2000年前半にオンラインゲームの商業的成功 企画段階からゲームにオンライン要素が盛り込まれる CPU なぜ情報は届くのか?
郵便物と同じ、配達員の代わりに配達ロジックが機能している 宛名を正しく記入すれば相手に届く 〒163-0528 1-26-2 〒150-0036 16-17 〒 2-27-5 1 5 6 4 2 〒156-0042 2-27-5
1byteのデータを送るのに、67byteの電気信号が必要 インターネットの宛名の書式イメージ MACアドレス IPアドレス ポート番号 アプリケーション層 トランスポート層 ネットワーク層 データリンク層 物理層 MACアドレス IPアドレス ポート番号 ポート番号 データ本体 IPアドレス トランスポートセグメント MACアドレス IPパケット ヘッダ イーサネットフレーム フッタ 10101010 10101010 10101010 10101010 10101010 10101010 10101011 1byteのデータを送るのに、67byteの電気信号が必要
オンラインゲームは2種類 C/S MMO ゲーム P2P MO ゲーム
サーバーサイド技術はアクセス集中負荷の対策と見た メモリ帯域 メモリ 足し算 ネットワーク帯域 CPU ディスクI/O 磁気ディスク
データベースアクセスが一番のボトルネック CPU 磁気ヘッドの物理的限界
サーバーサイド技術とはシステムの磁気ヘッド数を増やす技術 CPU
1.レプリカ大量作成(レプリケーション) ゲームサーバ スレーブ マスターDB