Webサーバーの負荷分散を行うにはどんな方法をとればよいか?
・DNSラウンドロビン【ネットワーク層】
ネットワーク層による実現なので設定は簡単。同一のAレコードに複数のIPアドレスを割り当てるだけでよい。しかしながら、クラスターが応答しなくなっても割り振ってしまうし、設定変更してもすぐに反映されるわけではないので、負荷分散として含めてよいかどうかは疑問視されるところ。他のシステムと合わせて使うことで効果がある。
・LVS、Pound【トランスポート層】
サーバーが動作しているかどうかをheartbeatを用いて判断して負荷分散をしてくれる。但し、トランスポート層での処理なので、セッションを伴う負荷分散が出来ない。(ショッピングカーとシステムを稼動させるためには、セッションを保存するディレクトリをNFSなどで共有させる必要がある)
・mod_proxy、Squid【アプリケーション層】
(アプリケーション範囲以外の点をいろいろ心配しなくてもよい分)最も簡単な負荷分散。但し、高負荷になるとうまく処理できないこともある。
http://www.atmarkit.co.jp/flinux/rensai/apache2_05/apache05a.html などもご覧ください。