1

私たちの新しいプロジェクト要件の 1 つは次のとおりです。

高可用性 - 新しいバージョンのアプリケーション (WAR ファイル) が出てきたら、Tomcat を再起動する必要なく新しいアプリケーションをデプロイしたいと考えています。

簡単な調査の後、この問題を解決するための 2 つの推奨される代替手段を思いつきました。

1) HA プロキシ + 2 つの tomcat、新しい戦争を展開する必要がある場合、1 つの tomcat ノードをシャットダウンし、すべてのトラフィックを他のノードに転送し、最初のノードを更新し、Tomcat を再起動し、トラフィック用に新しいノードを開きます。(最終的に 2 つのノードが更新されます)

2) Tomcat 7 Parallel 展開 - 達成しようとしていたものとまったく同じように聞こえます。

上記の代替案のいずれかを選択することを恐れている問題のいくつかを次に示します。

1) 両方の tomcat インスタンスが同じ DB を使用しているため、永続性のために JPA を使用しているため、JPA は第 1 レベルのキャッシュを使用しているためです。両方のインスタンスが互いに並行して生きるにはどうすればよいでしょうか? キャッシュは同期されません。展開時にキャッシュを無効にすることは良い習慣ですか? そのための他のテクニックはありますか?

2) 2 つのインスタンスが並行して存在するとこのような騒ぎが発生するため、古い戦争のすべてのセッション\ユーザーを新しい戦争にリダイレクトするユーザーを作成することは可能ですか? したがって、キャッシングの問題を解決しますか?

3) 他に考慮しなければならないパラメータはありますか? この問題を軽減する他の方法はありますか?

4

0 に答える 0