あの DeNA のエンジニア陣が執筆した本なら、買うしかないでしょ。WEB+DB PRESS Plus ほとんど買ってる気がする。
今回は Twitter で感想をツイートしながら読んでみた。読み終わった後に感想まとめるのは大変だけど、読んでる途中なら思ったことを書きだすだけだから楽。当分このスタイルでいこう。
2章 ブラウザベースのソーシャルゲーム(フィーチャーフォン)
フィーチャーフォンではMobaSiFっていうフレームワークを使っていて、こいつがキャリアの違いを吸収しているらしい。
フィーチャーフォンのブラウザの表現力はFlash Liteで補う。Mingというモジュールで動的に生成しているけど、ソーシャルゲームだからだよな。
3章 ブラウザベースのソーシャルゲーム(スマートフォン)
ハイパフォーマンス・ソーシャルゲームでやってることは、ハイパフォーマンスWebサイトとだいたい同じ。リクエスト減らしたり、画像圧縮したり、 JavaScript 遅延ロードしたり。
4章 アプリケーション版のソーシャルゲーム開発
ngCoreはJavaScriptでiOSとAndroid用のゲームが作れる。ソーシャルAPIはもともとなかったけど、DeNAに買収されたあと追加されたのかな。
7章 データベースの高性能化/高可用性化
シャーディングは計算式方式とマッピングテーブル方式が紹介されてるけど、どちらもReShardの問題は発生する。あらかじめ分割しておいて、スケールアップするしかないのかな。
無停止メンテはMHA for MySQL使おう。
8章 数千台のサーバを運用する技術
Mobageではcatalyst とMySQLで作った Admintoolという独自のサーバー情報管理システムをつかってる。WebUIだけでなくAPIやCLIコマンドでもアクセスできる。
10章 Job QueueとMessage Queue
サーバー側の非同期処理では、Q4MでMy SQLをJob Queueとして利用。ただしWorkerは自作する必要あり? Redisを使うresqueとどっちがいいだろう…。
resque はGitHubで開発・利用されてるから、Rubyならresqueの方が導入しやすそうだ。
11章 アプリケーションチューニング
アプリサーバーのローカルにmemcachedサーバーを立てるというのはナイスアイデア。真似してみよう。ただ、DNSのキャッシュまでするケースはそうそう無いだろうな。
12章 DevOps
ログ監視のフレームワークにはKomainuを使っているようだけど、今ならFluentdを使いたいところだな。
13章 大規模データマイニング
Hadoop上で動くMahoutを使っての大規模データマイニングの話。Hadoop関連全然追ってないから、必要になったときまた詠む。
リーンスタートアップだと、ユーザーの反応を分析するのが重要なんだけど、そのためにいきなりMahoutを使うのはやり過ぎな気がする。手軽にデータマイニングできるフレームワークが欲しいな。
Mobageを支える技術 ~ソーシャルゲームの舞台裏~ (WEB+DB PRESS plus)
- 作者: DeNA
- 出版社/メーカー: 技術評論社
- 発売日: 2012/06/13
- メディア: 単行本(ソフトカバー)
- 購入: 31人 クリック: 737回
- この商品を含むブログを見る