問題タブ [session-replication]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring-mvc - Tomcat 7 クラスタリング - Spring Boot および Spring Security でセッション複製が機能しない
Tomcat セッションのレプリケーション構成に関して問題があります。
当社では、mod_jk/tomcat-connectors 1.2.37 (CentOS 7 x64 上で実行) で負荷分散するように構成された Apache HTTPD 2.4.6 の背後で Tomcat 7 サーブレット コンテナーを使用しています。セッション レプリケーションは Tomcat マネージャーと連携しています。つまり、HTML マネージャーにログインした後に Tomcat の 1 つを強制終了した場合、再度ログインする必要はありません ( <distributable />
web.xml に設定されているため、確認できます)。サーバーは、catalina.log からお互いを正常に検出しています。
ただし、サンプルの Spring Boot アプリケーションをデプロイし、ユーザーを認証した Tomcat を強制終了すると、ログイン プロンプトが再び表示されます。私たちは長い間この問題を解決しようとしてきましたが、気が狂いそうになっています。何が欠けていますか?構成は次のとおりです。
Tomcat/context.xml:
Tomcat/server.xml:
他の server.xml も同様で、.77 と .79 の IP アドレスが切り替えられています (もちろん、uniqueId も変更されています)。
SpringBootApp/WebSecurityConfig.java
どんな助けでも大歓迎です。
java - Tomcat6 Web クラスタリングの P2P Hazelcast セッション レプリケーション - セッション同期の失敗
負荷分散側または tomcat のいずれかで構成が不足していると思います。誰かが解決策を助けて提供してくれれば幸いです。
私は何をしようとしていますか?
- このガイドを参照して、tomcat6 の P2P Hazelcast セッション レプリケーションを使用して 2 つの tomcat インスタンスをセットアップします。
- hazelcast-all-.jar、hazelcast-tomcat-sessionmanager-.jar、および hazelcast.xml をフォルダー $CATALINA_HOME/lib/ に配置しました。
- 以下に示すように、リスナーとコンテキスト構成を更新しました
- 以下に示すように、Tomcat フェイルオーバーと jvmRoute パラメータを更新しました。
- これまでのところ、お互いの hazelcast インスタンスに接続する tomcat インスタンスを立ち上げることができました。Tomcat ログで確認できます。
- ユーザーはロード バランサーに接続し、バランサー メンバーにルーティングされます。ここでは問題ありません。
- しかし、Tomcat インスタンスの 1 つを停止してフェールオーバーをテストし、Tom インスタンスに接続していたユーザーが同じセッションで再度サインインすることなく cat インスタンスを継続できることを確認しました。しかし、ロードバランサーが新しいセッションを作成しているようで、ユーザーが再度サインインして cat インスタンスとのセッションを確立する必要があると思います。私はそれを疑っていますが、確かではありません。
- それとも、両方の hazelcast インスタンスでセッションが複製および同期されていませんか? - これは事件です
- hazelcast セッションを監視できるクライアントはありますか? - 今私がやります
JSESSIONID の代わりに hazelcast.sessionId を設定することを参照するこの問題を参照しましたが、その方法に関する詳細は提供されていません。
バージョン -
ロード バランサーの構成
トムインスタンス - server.xml
トムインスタンス - context.xml
猫インスタンス - server.xml
猫インスタンス - context.xml
アップデート: