私は32ビットJDKとtomcatで動作するWebアプリケーションを持っています。このWebアプリケーションは、OOMと断続的にクラッシュし、接続プールスレッドを待機するタイムアウトになります。だから私は2つの異なるマシン上の2つの異なるtomcatsにアプリケーションをインストールしようとしています。 2つの異なるマシンで、より多くのヒープスペースがOOMの支援に利用できるようになります。2台のTomcatが異なるマシンにある場合、Tomcatでロードバランサを実装する方法は?
複数の並列セッションが進行中の場合、自由に利用可能なTomcatにユーザを誘導することが必須です。
負荷分散とクラスタリングについて読んだところ、ユーザーセッションからのすべての要求が同じTomcatに送られるように負荷分散が適しているようです。これは正しい理解ですか?
しかし、クラスタリングとロードバランシングは、2つの異なるマシン上のトムキャットをサポートしているようには見えません。アプリケーション(JVM)がより多くのメモリを利用できるように、別のマシンにtomcatsが必要です。
もっと読書等「テラコッタ」、「memcachedの」、「セッションレプリケーション」の用語で、より混乱が生じた
誰かがどのような可能な解決策に正しい方向に私を指すことができればそれは非常に参考になりますWebアプリケーションが利用できるリソースを増やすという観点から考えることができます。
https://serverfault.com/questions/637303/scaling-a-web-application-horizontally-in-tomcat-load-balancing-clustering 2台のマシン間で状態レプリケーションが必要ですか? – drelliot
フロントファサードとしてnginxを使用してください。フロントファサードは、バックエンドで動作しているTomcatへリクエストをリダイレクトします。セッションの場合、Tomcatの新しいバージョンはRedisを介したセッションの共有をサポートします。 – LFF
はい、状態複製が必要です。 2つのセッションのユーザーが同じdbテーブルに書き込みを行っている場合は、そのケースを処理する必要があります。 – user811433