Language⚡ パフォーマンス・速度
Twitter、Ruby on RailsからJVM/Scala基盤へ全面移行
Ruby on RailsJVM上のScala(Blenderプラットフォーム)
急増するトラフィックにRailsが耐えられなくなったTwitterは、2009年頃からJVM上で動くScalaへの移行を進め、2012年米大統領選の記録的トラフィックを支えた。
何が起きたか
Twitterは2008年頃、Rubyベースのメッセージキューシステムが限界に達したことをきっかけに、Railsの長時間稼働プロセスやメモリ集約的な処理への不向きさが問題視されるようになった。2009年以降、バックエンドをJVM上で動作するScalaへ段階的に置き換える複数年にわたる取り組みを開始し、最終的にJavaベースの新バックエンド基盤「Blender」を構築した。移行前は1サーバーあたり秒間200〜300リクエスト程度の処理能力だったのに対し、移行後は秒間1万〜2万リクエストまで処理能力が向上したと報告されている。この基盤刷新が、2012年米大統領選挙時の記録的なトラフィックをTwitterが乗り切れた一因とされている。
移行前後の変化
1サーバーあたりの処理能力
2012-11-08
他の事例も見る