マシンで負荷分散シナリオを作成しましたが、同じことがうまくいきます。しかし、私は 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) に送信しないことです。この問題を解決するにはどうすればよいですか?