アプリケーションの負荷を分散するには、同じアプリケーションで 2 つ以上の Tomcat インスタンスを実行する必要があります。同じマシンの異なるポート (例: www.myapp.com:8080 と www.myapp.com:9090) または同じポートの異なるマシン (例: www1.myapp.com:8080 と www2. myapp.com:8080)。通常、インスタンスは同じバックエンド データ ストアを共有します。各 Tomcat は独自の Web サーバーであるため、複数の Web サーバーが実行されます。
同一のインスタンスが 2 つあるため、ユーザーは 2 つのインスタンスのいずれかを使用できます。また、現在使用しているマシンに問題が発生した場合に、一方から他方に切り替えることもできます。しかし、ユーザーが手動でマシンを選択したり交換したりする必要はありません。ここでロードバランサーの出番です。
ロード バランサーはユーザーからリクエストを受け取り、それを負荷分散されたインスタンスの 1 つに動的にルーティングします。ロードバランサーは Web サーバーでもあります。BIG-IP F5 のようなハードウェア ロード バランサー、または Apache、nginx、または別の Tomcat サーバーなどのソフトウェアを使用できます。
Apache Web サーバーを使用して負荷分散を行う場合は、Tomcat サーバーの 1 つにリクエストを渡すための Apache モジュールが必要です。通常、これは mod_jk または mod_proxy です。
簡単に言えば、Apache をロード バランサーとして使用する場合は、mod_jk (または mod_proxy) を使用する必要があります。別のロードバランサーを使用する場合、mod_jk は使用できません。
Tomcat ロード バランサ ソリューションも参照してください。