[Ultramonkey-l7-users 107] Re: “HTTP メソッドベース ロードバランシング” につきまして

Back to archive index

Shohei Azuma shohe****@pluga*****
2008年 2月 20日 (水) 03:31:25 JST


田沼さま、

先日は新しいソースコード有難うございました。
添付説明通り置き換えました。こちらでテストした範囲では問題なく動作してお
ります。
現在、
IF POST    THEN HOST1
IF GET     THEN HOST2
IF PATTERN THEN HOST3
のように動作しておりますが、
If POST and PATTERN
then HOST1
else HOST2
のようなことは可能でしょうか。
多々なる質問、恐縮です。よろしくお願いいたします。

東

-----Original Message-----
From: Kouhei TANUMA <clamm****@gmail*****>
To: Shohei Azuma <shohe****@pluga*****>
Cc: Shinya TAKEBAYASHI <takeb****@nttco*****>,
ultra****@lists*****
Subject: Re: [Ultramonkey-l7-users 105] Re: “HTTP メソッドベース ロード
バランシング” につきまして
Date: Sat, 16 Feb 2008 03:22:09 +0900


東さん

はじめまして。
田沼と申します。

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 で
複数の仮想サービスを設定することとなります。
また、仮想サービスの追加順序も考慮する必要がありますので気をつけてください。

-- 
Shohei Azuma <shohe****@pluga*****>
PlugandPlayTechCenter
-------------- next part --------------
HTMLの添付ファイルを保管しました...
Télécharger 



Ultramonkey-l7-users メーリングリストの案内
Back to archive index