0

マシンで負荷分散シナリオを作成しましたが、同じことがうまくいきます。しかし、私は 1 つの単純な問題で立ち往生しており、同じ問題について助けを求めています。

worker1 と worker2 の 2 つの Tomcat ワーカーがあります。また、バランサーと呼ばれるロードバランサーもあります。workers.properties ファイルは次のように作成されました -

  • workers.tomcat_home="MyTomcatDirectory"
  • workers.java_home="MyJDKDirectory"
  • worker.list=tomcat1,tomcat2
  • worker.list=バランサー
  • worker.tomcat1.type=ajp13
  • worker.tomcat1.host=localhost
  • worker.tomcat1.port=8009
  • worker.tomcat1.lbfactor=1
  • worker.tomcat2.type=ajp13
  • worker.tomcat2.host=localhost
  • worker.tomcat2.port=8019
  • worker.tomcat2.lbfactor=1
  • worker.balancer.type=ポンド
  • worker.balancer.balance_workers=tomcat1,tomcat2
  • worker.balancer.method=B`

現在、エンドユーザーが広く使用しているwebapp1という webapp があります。したがって、webapp1 に対するすべてのユーザー リクエストをworker1で処理する必要があります。このために、Apacheのconfディレクトリのhttpd.confファイルに以下の行を追加しました-

  • JkMount / バランサー
  • JkMount /* バランサー
  • JkMount /webapp1 worker1
  • JkMount /webapp1/* worker1

これもうまくいきます。ここでの唯一の問題は、tomcat1 (worker1) がダウンしている場合、バランサーが webapp1 の要求を tomcat2 (worker2) に送信しないことです。この問題を解決するにはどうすればよいですか?

4

1 に答える 1

1

要求をデフォルトでワーカー 1 に送信し、ワーカー 1 が失敗した場合にのみワーカー 2 に送信する場合は、2 つのワーカー (tomcat1b と tomcat2b) を持つ 2 番目の lb ワーカー (lb2 と呼びます) をセットアップし、距離パラメーターを使用して、tomcat2b に tomact1b よりも大きな距離を与えます。これにより、tomcat1b が失敗しない限り、tomcat2b に優先して tomcat1b が使用されます。

詳細については、workers.properties ドキュメントを参照してください: http://tomcat.apache.org/connectors-doc/reference/workers.html

ところで、workers.properties には tomcat1 がありますが、JKMount には worker1 があります。それはうまくいきません。

于 2013-02-20T21:18:34.627 に答える