モンストのインフラ紹介スライド

何日か前にホッテントリになっていたのでメモ。

モンストを支えるインフラの今とこれから
https://speakerdeck.com/isaoshimizu/monsutowozhi-eruinhurafalsejin-tokorekara

APサーバ 300台以上 (12-20core)
Resque 50台
TURN 40台
Redis 30台
Memcached 200台以上 (メモリ32GB搭載マシン 割り当て26GBx100台=2.6TBのプールが2つ)
MariaDB 250台以上
計 870台以上

トラフィック
CDN 最大 270Gbps
API 平均 1Gbps
内部 最大 20Gbps

DC2箇所とAWS

「各DCはTY2,4経由で」 TY2,4 とはEQUINIX(エイクニクス)社のデータセンタか?
TY2 東京 - データセンターの仕様
TY4 東京 - データセンターの仕様

DirectConnect : AWS専用線接続

AWSにTURN Serverと開発環境を置いている。

TURN : Traversal Using Relay around NAT
NATの内側にいるクライアントどうしを通信させる中継サーバのことっぽい。
WebRTCに使われるP2Pの技術
TeamViewerなんかで使われていると思われ。

ゲームデータ、リソースデータはCDN CloudFront + S3 および Akamai

デプロイに Capistorano
GitHubソースコードをtar玉にS3に置くとApplicationサーバが取りに来る

プロビジョニング: サーバとかを準備、提供すること
Ansible
Chef

「S3にMariaDBのレポジトリのミラー(本家の障害対策)」

aptly: Debianのレポジトリ管理ツール

Vagrant

Test Kitchen

「現在、アプリ内で高負荷による一部エラーが確認されており、解消に向けて対応を実施中です。ご迷惑をおかけし大変申し訳ございません。皆様全員に後日お詫びをお送りさせて頂きます。」
お詫び(の品)が要るんだ。パズドラでいう詫び石ってやつか。


「12-20 core なCPU x 2 (Hyper-Threading換算で24-40 core)のマシン」
Hyper-Threading換算

クエリ改善やキャッシュで負荷を軽減し、
ioDrive(ioMemory)からSSDへのスケールダウンできた。


つづく。