0

既存の接続が中断されないように、Apache を完全に再起動せずに Apache2 mod_proxy_balancer バランサー メンバーを追加/削除する方法があるかどうかを知りたいですか?

等しいvhost-fileのメンバーを更新し、ソフトリスタートを行うだけの場合

service apache2 reload

Apache は行った変更を適用しません。提供されたbalancer-managerディレクティブと Web バックエンドを使用すると、再起動せずに特定の blancer-member (例: loadfactor) のパラメーターを変更できますが、この方法で新しいメンバーを追加したり、既存のメンバーを削除したりすることはできません。

4

1 に答える 1

0

apache最後に、およびに関するいくつかのまれな問題のためにmod_proxy_balancer(詳細については、 https://issues.apache.org/bugzilla/show_bug.cgi?id=44736を参照してください)、少し回避策を実行しました。

まず、バランサー ワーカーの構成をプレースホルダーで埋め、ロードファクターを "1" に設定します。例:

<Proxy balancer://mycluster>
   BalancerMember http://www.cmgm.info/virtual/1/  loadfactor=1
   BalancerMember http://www.cmgm.info/virtual/2/  loadfactor=1
   BalancerMember http://www.cmgm.info/virtual/3/  loadfactor=1
   BalancerMember http://www.cmgm.info/virtual/4/  loadfactor=1
   BalancerMember http://www.cmgm.info/virtual/5/  loadfactor=1
   ...
   BalancerMember http://www.cmgm.info/virtual/n/  loadfactor=1
</Proxy>

次にmod_rewrite、プレースホルダーを実際のバランサー メンバーに動的に割り当てるために使用されます。

RewriteEngine on
RewriteRule ^1/(.*)$ http://www.worker1.de/$1 [P]
RewriteRule ^2/(.*)$ http://www.worker2.de/$1 [P]
...
RewriteRule ^n/(.*)$ http://www.workern.de/$1 [P]

各 (仮想) メンバーの負荷係数の追加、削除、有効化、無効化、および設定は、Web インターフェースにアクセスすることによって行われbalancer-managerます。

要約すると、mod_proxy_balancerこの回避策を使用してプログラムで動的に変更することができます。

于 2014-07-16T13:03:58.880 に答える