Kouhei TANUMA
clamm****@gmail*****
2008年 2月 16日 (土) 03:22:09 JST
東さん はじめまして。 田沼と申します。 HTTPメソッドによるバランシングについてですが、既存モジュールを多少変更するだけで 済みそうだったので、ちょっとテストがてらに作成してみました。(httpmethodモジュール) CentOS5 で簡単に確認していますが、バグがあるかもしれません・・・。 正式に実装されてリリースとなるかどうかはわかりませんが、興味がありましたら、 試してみてください。 手順は、添付ファイルの Makefile.am, protomod_httpmethod.c を 1.0.2-1 のソースコードにいれて、 autogen.sh (autogen64,sh), configure, make, make install です。 また、l7directord も変更が必要なので既存と置き換えてください。 設定についてですが、仮想サービスのモジュールに httpmethod モジュールを指定、 --method で振り分ける HTTP メソッドを指定(必須)、振り分ける実サーバを任意数追加です。 詳細は添付の l7directord.cf をご確認の上、適宜変更してください。 ★ 添付の l7directord.cf での振り分け情報 % sudo l7vsadm -K Layer-7 Virtual Server version 1.0.2 Prot LocalAddress:Port ProtoMod Scheduler Reschedule Protomod_key_string SorryAddress:Port Sorry_cc Sorry_flag -> RemoteAddress:Port Forward Weight ActiveConn InactConn TCP moon:80 httpmethod rr 1 --method GET -> sourceforge.net:http Masq 1 0 3 -> sourceforge.jp:http Masq 1 0 3 TCP moon:80 httpmethod rr 1 --method POST -> www.amazon.co.uk:http Masq 1 0 2 -> www.amazon.de:http Masq 1 0 1 TCP moon:80 httpmethod rr 1 --method HEAD -> www.Sony.CO.JP:http Masq 1 0 1 -> www.sony.net:http Masq 1 0 1 TCP moon:80 sessionless rr 1 -> www.mcdonalds.co.jp:http Masq 1 0 1 -> mcdonalds.com:http Masq 1 0 1 ★ この場合の振り分け moon:80 に GET リクエストがきた場合 → sourceforge サーバグループに振り分け moon:80 に POST リクエストがきた場合 → amazon サーバグループに振り分け moon:80 に HEAD リクエストがきた場合 → sony サーバグループに振り分け moon:80 に上記以外のリクエストがきた場合 → mcdonalds サーバグループに振り分け(sessionlessモジュールを利用) なお、URL モジュールで振り分けを行う場合も上記のように同一の VIP:PORT で 複数の仮想サービスを設定することとなります。 また、仮想サービスの追加順序も考慮する必要がありますので気をつけてください。 -------------- next part -------------- テキスト形式以外の添付ファイルを保管しました... ファイル名: httpmethod.zip 型: application/zip サイズ: 47193 バイト 説明: 無し 다운로드