やる夫がmod_proxy_balancerを利用するようです。
mod_proxy_balancerについて
apache-2.2.4インストールというよりも、”mod_proxy_balancer”の設定を主に記載してみます。ロードバランサがあれば特に必要ないのではないかと思ったりします。コストの問題でしょうか?遊びで構築してみましたが、サービスへの導入はしてないです。
____
/ \
/ ─ ─\
/ (●) (●) \
| (__人__) | トラブル発生時に、ロードバランサーから切り離して
/ ∩ノ ⊃ / もらうよう依頼するのも時間かかるし・・・。
( \ / _ノ | |
.\ “ /__| |
\ /___ /
____
/ \ ( ;;;;(
/ _ノ ヽ__\) ;;;;)
/ (─) (─ /;;/
| (__人__) l;;,´ かといって、サービス単位でロードバランサ作業は
/ ∩ ノ)━・'/ させてもらえないだろ・・・。
( \ / _ノ´.| |
.\ " /__| |
\ /___ /
何処の組織もそうだと思いますが、ロードバランサーとかフィルタ関連は、それ専門で実施する部署とかあると思います。トラブルが発生時にこういったしがらみが、対応を遅くさせます。ちょっとやる夫が成長しています。
|
\ __ /
_ (m) _
|ミ|
/ `´ \
____
/⌒ ⌒\
/( ●) (●)\ そうだ!アプリ側でバランシングすればいいお!
/::::::⌒(__人__)⌒::::::\ たしかapache2.0からバランシングモジュールが
| |r┬-| | 利用できたはず!
\ `ー'´ /
ファイル取得
http://www.apache.jp/ から”apache-2.2.4”を適当に落としてください。
apache-2.2.4 インストール
単純に”./configure”だけだと、、”mod_proxy_balancer”が使えないので、下記オプションを参考にインストールして見てください。
# ./configure --enable-proxy --enable-proxy-balancer --enable-rewrite -enable-deflate |
モジュール確認
下記結果が返ってくれば、”mod_proxy_balancer”が使える筈。
# /usr/local/apache2/bin/httpd -l | grep proxy |
mod_proxy_balancer 設定
httpd.conf 設定
”apache”を”indigo01(192.168.2.20)”に構築し、イントラネット上のクライアント端末(192.168.2.30)から、管理画面を使用する設定とします。バランシング方法は、”http://192.168.2.20/cluster_test”でのリクエストに対し、yahoo,goo,so-net,niftyへランドロビンする設定になっています。
# vi /usr/local/apache2/conf/httpd.conf |
- loadfactor 上記設定だと、yahooへ行く回数が多くなります。
balancer-manager
上記設定だと http://192.168.2.20/cluster_test で下記のようなイメージになります。
stickysession
ID指定で固定のアクセスが可能です。
----- |
- http://192.168.2.20/cluster_test?testid=test.1001 <-- yahoo
- ”?testid=test.1001”とありますが、形式は”?[任意ID]=[ID_name].[route_namber]”です。”.(ドット)”は重要
- http://192.168.2.20/cluster_test?testid=test.1002 <-- goo
- http://192.168.2.20/cluster_test?testid=test.1003 <-- so-net
- http://192.168.2.20/cluster_test <-- ランドロビンされます。
リダイレクト設定
サーバやapacheのプロセスが死んだ場合のリダイレクト設定が”redirect”で可能です。上記設定だと、”http://192.168.2.20/cluster_test?testid=test.1003”でリクエストして、”so-net”のポータルサーバが落ちていた場合、”goo”にアクセスするように設定しています。
balancer-manager 接続エラー
[Tue Jan 08 14:41:03 2008] [error] [client 192.168.2.20] client denied by server configuration: /usr/local/apache2/htdocs/balancer-manager |
こんなエラーメッセージが出力されたならば、”httpd.conf”のACL設定がまずいようです。今回は”balancer-manager”とします。”Allow from”と記載されたところを確認して見てください。
# vi /usr/local/apache2/conf/httpd.conf |
こんな感じでしょうか?
| 固定リンク
「apache」カテゴリの記事
- やる夫がapacheのコネクション数を調べるようです2。(2008.06.12)
- やる夫がapacheのコネクション数を調べるようです。(2008.02.29)
- やる夫がapache2.0/2.2系で帯域制限をかけるようです。(2008.03.14)
- やる夫のサイトにスパムが来たようです。(2008.04.10)
- やる夫のサイトにスパムがきまくるようです。(2008.04.11)


コメント