・ユーザー数が1000万人を超え(超えそう)る。
・アクセスが膨大
なサービスの場合、そのシステムはどのような構成となっているのでしょうか?Oracle+Java?
実際の構成や、使用ライブラリ、開発の勘所、FPなど、詳細がわかれば、教えてください。
一般的な話よりも、実際のところが知りたいです。
mixiに関してですが
Linux 2.6/MySQL 4.0と4.1/Apache2/mod_perl/Perl5.8.x/Squid/memcached
等です
サーバはここでは150となっていますがその後雑誌で開発者の方が160と答えておりましたので増え続けているようです
ハードウェアのスケールで言うと、はてなと同じくらいなんですね。
はてなはほぼオープンソースです。
Linux + Apache + MySQL + Perl。LAMP ですね。サーバーは 200 台ぐらいあります。高いハードウェアを買ったことはありません。ほぼすべて自作PCのようなものです。
そのほかルーターやロードバランサーなどの高価な機器も一切ありません。だいたいをソフトウェアで何とかしてます。
アプリケーション開発の胆になるフレームワークは自社開発したものを使ってます。
mixi も同じような構成ですね。
負荷が高くなってきたときにどう分散するかというのは、日々の泥臭い作業のなかから積み上がってくるノウハウに依るところが大きいので、説明するのはちょっと難しいです。
関係者からのご回答、感動です!こうしたオープンさ、サービスへの真摯さが、はてなの原動力なんですね。うらやましいなぁ。
負荷対策は、HW構成やサービスの構造にも依存するので、確かに普段の作業の中から見つけるしかないですよね。
自分もかつて、数千万PV/日レベルのサイトのプロジェクトに携わったことがありますが、HW構成はあまりにも難解で、最後はソフトによる対応がほとんどだったような気がスケーラビリティの自由度も効きにくく(特にDB)、最後はconnectionを司るソフトウェアのチューニングで凌いだ記憶があります。
アプリのフレームワークは、やはり自社開発なんですね。うーん、自分でやるとしたら気が遠くなりそうです。
小さく始めて、積み上げないと!
すみません、始めのに回答していただいた方とかぶっているようですね。非常に役立つ資料でした。
うわ〜、非常に役に立ちます。ありがとうございます!
やはり、個人から派生したサービスは、MySQLが多いんですね。