人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

サーバに関する初心者です。

はてなのサーバって300台くらいあるとどこかの記事で読んだんですけど、それらをどうやって連携して稼動するようにしているんですか?

たとえば100人が同時にはてなのトップページ「http://www.hatena.ne.jp/」を表示しようとしますよね。最初の50人にはAというサーバで表示させ、残りの50人にはBというサーバで表示させているのでしょうか。その振り分けはどうやっているのでしょうか。

ちょっとちんぷんかんぷんな質問かもしれませんが、解説できる方お願いいたします。

●質問者: sawakimasahito
●カテゴリ:コンピュータ インターネット
✍キーワード:ちんぷんかんぷん はてな サーバ トップページ 初心者
○ 状態 :終了
└ 回答数 : 7/7件

▽最新の回答へ

1 ● b-wind
●20ポイント ベストアンサー

ちょっと情報古いけどこんな感じだと思う。

http://d.hatena.ne.jp/naoya/20051205/1133782641

簡単に言えばWebサーバーの前にロードバランサーを置いている。

http://www.atmarkit.co.jp/fnetwork/rensai/lb01/lb01.html

ロードバランサーは専用の機械の事が多いけど、はてなの場合は Apache 等のソフトウェアでやっている。


ちなみにDBの方はこんな感じらしい。

http://d.hatena.ne.jp/naoya/20060901/1157109663

こちらも基本的な構造は一緒だけど、MySQL のデータはレプリケーションしてあるので、どのDBに接続しても同じ結果が返ってくるようにしてある。

◎質問者からの返答

ありがとうございます!


2 ● ootatmt
●20ポイント

ロードバランサを使用しているのだと思います。

http://www.keyman.or.jp/3w/prd/95/30001595/?vos=nkeyadww10001881

◎質問者からの返答

ありがとうございます!


3 ● hamster009
●0ポイント

並列計算機 http://end

◎質問者からの返答

0ポイント。


4 ● tadashi0805
●20ポイント

はてなのサーバがそうなのかはわかりませんが、ロードバランサというのを使えば可能で、一つの実装方法です。

例えば、http://www.hatena.ne.jp/へのアクセスの場合、www.hatena.ne.jp(グローバルIPアドレスが何らかの値になる)にポート番号80でリクエストが飛んできます。

これを、一旦ロードバランサが受け、ロードバランサは例えばWebサーバが2台あるとすると、wwwA.hatena.ne.jpのポート80とwwwB.hatena.ne.jpのポート80のリクエストに変換して、AとBに対して順繰りに振り分けるように制御します。

http://www.atmarkit.co.jp/fnetwork/rensai/lb01/lb01.html

単純に順繰りにするだけでなく、10台のサーバがあったとして、どれが1台がダウンしたらそれを検出して、自動的に10台の順繰り→9台の順繰りにするなどの制御もできます。

◎質問者からの返答

ありがとうございます!


5 ● backupper
●20ポイント

振り分け用のフロントサーバでアクセスを受け付け、バランサーという振り分けソフトを使って、沢山のサーバにできるだけ均等にリクエストを渡すようにします。

はてなが今現在どのようにしているか、確かな事は外部の人間には分かりませんが、以前はmod_proxy_balancer使ってたけど、今バランサーにLVSを使っているような話を聞いた事があります。

サービス毎に構成は多少違うでしょうから、全部が全部ではないでしょうし、組み合わせなどで色々工夫していると思います。

http://d.hatena.ne.jp/naoya/20051205/1133782641

◎質問者からの返答

ありがとうございます!


1-5件表示/7件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ