ipvsadm - ロードバランサー

http://otaku2dot0.ti-da.net/e2702033.html

ipvsadmの設定を行います
# 初期化
$ > ipvsadm -C

# 次にパケットの入り口を指定# 負荷分散アルゴリズムにラウンドロビンを使用$ > ipvsadm -A -t 192.168.1.12:80 -s rr

# sv1、sv2をバランシングの対象に設定
$ > ipvsadm -a -t 192.168.1.12:80 -r 10.1.1.11:80 -m
$ > ipvsadm -a -t 192.168.1.12:80 -r 10.1.1.12:80 -m

なんか意外にあっさり設定できる模様。
現状、2chradioの場合、ボトルネックmysqlなので
web側をロードバランスしても効果はないんですが、
snsアプリなどを提供する上で、将来にそなえて研究してみたいと思います。
ロードバランサーなんてルーターのNAT変換並の仕事量でしょうから
ノートPC一台で充分機能しそうですね。


もし

http://2chradio.com:8081
http://2chradio.com:8082
http://2chradio.com:8083

みたいにポートを使ってルーターでNAT変換で
割り当てられるローカルのPCを切り替えることはできるんですが、
携帯のブラウザの場合、URLにポート番号を書くこと自体ができない場合があって
使えないんですよね(^^;


もしこれが可能なら、CGI側で

my $lb=int(rand(3));
if($lb eq 0) { $cgi->redirect("http://domain:8081"); }
elsif($lb eq 1) { $cgi->redirect("http://domain:8082"); }
elsif($lb eq 2) { $cgi->redirect("http://domain:8083"); }

とやれば、http://domainへのアクセスを8081〜8082番のNAT変換で
違うPCにバランスできますよね。
↑PCが一台死んだ場合に切り離す機能がないので、死活監視を組み合わせる必要がある
↑時々HEADして応答を見ればいいだけだから手間はかからないですよね
 なんで、ロードバランサーって高いんだろう?
 障害対応を気にしないで、純粋に負荷分散だけなら、
 市販ルーターに搭載してくれても良い気もする(^^;