問題タブ [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.
java - tomcat でのセッション複製とクラスタリング?
Java アプリケーションのとHttpServer2.2
を実現するように を構成しました。load balancing
Clustering
しかし、正常に動作し、Load Balancing
動作しClustering(session replication)
ません。
私worker.properties
のHttpServer
場合は、
そしてそのhttpd.conf
意志は、
私server.xml
の forTomcat one
では、
私server.xml
の forTomcat two
では、
しかし、まだ問題があります。
をシャットダウンするTomcat one
と、新しいリクエストは自動的に に送られますtomcat two
。しかし、Tomcat two
現在のユーザーの状態と、アプリケーションの保存されたセッション オブジェクトについてはわかりません。
スタック メンバーがこれを手伝ってくれることを願っています。
良い答えは間違いなく高く評価されます。
java - Glassfish セッションのレプリケーションが機能しない
シンプルなアプリでセッションを複製するのに苦労しています。事は非常に基本的です。最初はこれを行うために 2 つの VM をセットアップしましたが、うまくいかなかったので、1 台のマシンでそれを行うかもしれないと考え、そうしました。
同じマシン上に 2 つのインスタンスを持つクラスターを作成しました。展開中に「可用性」チェックボックスをマークして、実際にセッションを複製します。
また、一部のOracle man Webページで提供されたコードに変更を加えました。
web.xml
sun-web.xml
index.jsp
セッションに何かを投稿すると、2 番目のインスタンスでは発生しません。私はこれで2日目と戦っていて、アイデアが不足しています...
どんなヒントも素晴らしいでしょう。
java - Tomcat でのセッション レプリケーション - jdbc セッションの永続性 - カスタムまたはライブラリの実装?
マルチサーバー Tomcat クラスター Web アプリケーション (20 台以上のサーバー) を実装しています。jdbc を介してセッションを共通データベースに永続化することにより、セッション レプリケーションを実行したいと考えています。
独自の jdbc セッションの永続性を展開する価値はありますか? または、オープン ソース ライブラリのシェルフから、強力で十分に汎用的なセッション レプリケーションの実装がありますか?
ここでの前提は、次の実装の (ファイルまたは DB への) 永続性を管理する「マネージャー」を探していることです。
spring-security - CloudFoundry で Spring Security の HttpSessionSecurityContextRepository を使用する際に問題はありますか?
Spring SecurityがHttpSessionSecurityContextRepository
を利用していることは理解していますHttpSession
。
さらに、CloudFoundry などの PaaS は、スケーラビリティーのためにセッションのレプリケーションを回避しようとしていると読みました。
アプリケーションをCloudFoundry PaaSにデプロイするつもりです。
HttpSessionSecurityContextRepository
CFでの使用に問題はありますか?
apache2 - Tomcat クラスタリングとセッション レプリケーション
Apache Httpd サーバー (Apache 2) と Tomcat (Tomcat 7) をクラスタリングとセッション レプリケーション用に正常に構成しました。これは、次の 2 つのシナリオで確認しました。1. すべての tomcat インスタンスが同じマシン上にある 2. Tomcat インスタンスが複数のマシンに分散されている。
最初のシナリオではすべて正常に動作していますが、2 番目のシナリオでは問題が発生しています。私は助けが必要です。自分のマシンに Apache Httpd サーバーと tomcat (TomcatA) をインストールし、別のマシンに 2 つ目の tomcat (TomcatB) をインストールしたとします。この場合を除いて、クラスタリングとセッション レプリケーションは正常に機能しています。1. Apache Httpd サーバーを起動します。2. TOmcatA を起動します。3. TOmcatB を起動します。最初のリクエストが TomcatA によって処理され (アクティブなセッションが 1 つしかない)、そのセッションの他のすべてのリクエストが TomcatA によって処理されるとします。ここで TomcatA をシャットダウンすると、そのセッションの他のすべての次のリクエストが TomcatB に転送され、次のリクエストが即座に処理されます。ここで、TomcatA を開始すると (TomcatA が適切に開始されていることを確認します)、すべての要求は引き続き TomcatB によって処理されます。ここで TomcatB をシャットダウンすると、「
TomcatA が既に開始されているのに 60 秒待たなければならないのはなぜですか。その時間を短縮するための構成設定はありますか。
これはシナリオ 1 では発生しません (すべての tomcat インスタンスが同じマシン上にあります)。tomcat インスタンスがクラスターに追加またはクラスターから削除されたかどうかに関係なく、すべての要求がスムーズかつ即座に処理されます。
java - Tomcat のクラスタリング / セッション レプリケーションが正しく複製されない
環境/コードベースでの使用を評価するために、ローカル マシンの Tomcat 7 でクラスタリング/レプリケーションをセットアップしています。
設定
異なるポートで実行されている兄弟ディレクトリに 2 つの同一の tomcat サーバーがあります。httpd が他の 2 つのポートでリッスンし、VirtualHosts として 2 つの tomcat インスタンスに接続しています。構成されたポートで両方の環境にアクセスして対話できます。すべてが期待どおりに機能しています。
tomcat サーバーでは、server.xml で次のようにクラスタリングが有効になっています。
そして、配布可能なタグを web.xml の最初に追加しました。
何が機能しているか
サーバーが起動すると、ログに記録されます
2 番目のサーバーが起動すると、最初のサーバーがログに記録します
一方がシャットダウンされると、もう一方がログに記録します
だから私は彼らがお互いを認識していることを知っています。
最後に、jconsole で Cluster/Operations MBean を使用してプロパティ「foo」を「bar」に設定しようとすると、jconsole は「メソッドが正常に呼び出されました」と報告し、サーバー ログ
私はそのエラーについてあまり心配していません。主に、setProperty がログ ステートメントを作成することを示すために含まれています。
機能していないもの
私が知る限り、私のアプリではセッション情報がレプリケートされていません。
Tomcat マネージャーは、監視しているサーバーで開始されたセッションのみを一覧表示し、クラスター内の他のサーバーは一覧表示しません。
私は、アプリが HttpSession.setAttribute を呼び出すたびに、その属性を他のクラスター ノードにレプリケートする必要があるという印象を受けており、その記録がログに記録されることを期待しています。私のアプリには次の行が含まれています:
ここで、BillingInfo は、請求情報に関する情報の HashMap である 1 つのフィールドのみを含むシリアライズ可能なクラスです。
この行または他の行が処理されたときにログ ステートメントは書き込まれず、セッション情報が実際に共有されているという証拠もありません。
提案や追加の質問は大歓迎です。
tomcat - マルチキャストを使用しない Tomcat 7 でのセッション レプリケーション
マルチキャストを使用せずに、完全に独立した環境で実行されている tomcat インスタンス間でセッションの複製を有効にすることはできますか?
- すでに JDBC ベースのセッション マネージャーを確認しましたが、スワップされたセッションのみが保存されるため、新しいセッションが失われます。
- https://code.google.com/p/memcached-session-manager/は機能しません (たとえば、同じ tomcat に複数のアプリがあると Cookie が混乱します)、1 つの tomcat が再起動されるとすぐに memcache からセッションがフラッシュされます. これが最善の解決策だと思いますが、修正には時間がかかると思います。
マルチキャストを使用しない代替手段はありますか? パフォーマンスは関係ありません。
tomcat - より多くの同時ユーザーの応答時間
ネットで検索してみましたがだめでした。プロジェクトの実装中に 2 つの質問があります。
1.より多くの同時ユーザー (~300) に対応するには、Tomcat サーバーを増やすと応答時間が短縮されますか?
2. 50 人の同時ユーザーで負荷テストを行ったときのスティッキー セッションとセッション レプリケーションの応答時間の違いは明らかです。スティッキー セッションとセッション レプリケーションの間の応答時間の差が、たとえば 300 などのより多くの同時ユーザーで負荷テストを行うと、ごくわずかまたは無視できるようになるのはなぜですか?
質問への回答にご協力いただきありがとうございます。