たまには、サーバの事について
アメーバやmobage・GREEなどのように
大量のユーザーが同時にアクセスしてくると想定される場合は
サーバも結構必要になります。
最近いろんな方式があるようですが基本的には、
WEB(WWW)サーバ これにユーザが見るホームページなどが置かれます
DBマスターサーバ ここに、ユーザデータなどが記録されます
DBスレーブサーバ マスタのコピーがされて、ユーザデータを読む時はここ
MEMキャッシュサーバ 一度呼び出されたユーザデータなどがコピーしされる
WEBサーバは、必要に応じて何十台も増やされます。
DBスレーブというのは、DBマスターからだけデータを取りにいくと
負荷がかかりすぎてしまうので、データの更新がされない時(読み出す時)は
マスターでなくスレーブと言う方に読みに行かせる仕組みです
スレーブも複数用意されますが、ユーザデータが更新されると自動的にコピーされるので
あまり多すぎても逆に負荷がかかります。
サーバのHDDだけでやっていると、やっぱり遅いので
MEMサーバが用意されます
DBマスターにデータを書くと同時に、DBスレーブにコピーされ、さらにMEMサーバにもコピーされます
ユーザデータを取りたい時は、MEMサーバにとりに行って、無ければ、DBスレーブやマスターに
行く・・という感じにして、負荷を分散させるのです
メモリなので、データが書かれていないときがあったり、常時記録していると
メモリがいくらあっても足りなくなるので、一定時間を過ぎたら自動で消すなどされます
こんな感じであとは、ロードバランサとよばれる、WEBサーバにユーザが
アクセスしてくると、自動でどれにアクセスするのか割り振るものなども
あります
アメーバでも、反応が遅いときがありますね。
大勢の人が同時にアクセスしているからと言うのもありますが
最近は、アメーバピグだけでなく、ピグライフもあるので
サーバ台数が不足気味なんじゃないかな?
サーバ増設のお知らせもあったきがしますが・・
ピグライフだと、頻繁にDBマスターを書き換えないといけないので
重くなるのかな?
DBクラスターとか言うものや色んな仕組みで軽くしているんだと思いますが
間に合ってない雰囲気ですね
ちなみに、facebookのDBサーバは数千台あるそうです
東海岸と西海岸にそれぞれデータセンターがあるんだとか
すごいですねぇ
と言う感じで、ネットを使ったアプリはサーバの維持費が大変な事になります
というお話でした