2012-03-13 6 views
0

Apache Jakarta(Tomcat)コネクタのロードバランシング機能でこれまで解決できなかったユースケースが1つあります。Apache Jakarta(Tomcat)特定のTomcatにトラフィックを転送するためのコネクタ

私は1つのApache Tomcat Connectorが接続された1つのIISサイトを持っています。要求されたURIに応じて、別のTomcatにトラフィックを「転送」する必要があります。特定のコンテキスト(例えば、/ app1、/ app2など)のアプリケーションしか持たない場合は、かなり簡単です。私の問題は、1つのアプリケーション(1つのTomcat)が/(ROOT)にあり、もう1つのアプリケーション(別のTomcat)が/ app1にあることです。

私は、uriworkermap.propertiesに以下の設定を試してみました:

/*=loadBalancer1 
/app1/*=loadBalancer2 

しかし、これは動作しません、「loadBalancer1は」すべてのトラフィックがかかるため。/app1/*が/ *(regexp wise)と一致するので、 "loadBalancer2"は無視されます。

私もそうとして除外を追加してみました:

/*=loadBalancer1 
!/app1/*=loadBalancer1 
/app1/*=loadBalancer2 

しかし、それはどちらか動作しません、「loadBalancer1は」まだすべてのトラフィックを取って、ちょうど「/ APP1/*」URIことを無視しているので、パターン。 「loadBalancer2」は単に無視されます。

私は2つのIISサイトを持つことはできませんし、/(ROOT)にあるアプリケーションをTomcatの別のコンテキストパスに移動することはできません。

はあなたに

編集ありがとう: の代わりに一つだけのApache Tomcatコネクタを使用して、私は、同じIISサイト上の各Tomcatの1つのコネクタを使用しています。

uriworkermap.properties#1:/ APP1

/app1/*=wlb 

コネクタ#1の意志でアプリをTomcatの:アプリをTomcatの

/*=wlb 
!/app1/*=wlb 

uriworkermap.proerties#2(ROOT)/ AT URI "/ app1/*"のトラフィックを無視しますが、コネクタ#2はそれをキャッチします(逆も同様です)。

今では、アプリに異なるVMオプションとメモリ割り当てを設定できます。

私はコメントや、よりよい解決策に開いています..あなたのような、それを逆にするとき

答えて

0

それは動作しますか?

 
/app1/*=loadBalancer2 
/*=loadBalancer1 
+0

いいえ、動作しません。私はそれを試してみました。 regexp(これが使用している場合)がconfigファイル内の要素の順序よりも優先されているようです。つまり、同僚がおそらく解決策を見つけました。できるだけ早く投稿します。 – 1lln3ss

関連する問題