問題タブ [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.
asp.net - FOSS ASP.Net セッション レプリケーション ソリューション?
asp.net 用の無料/オープンソース セッション クラスタリングおよびレプリケーション ソリューションを (ほとんど成功せずに) 検索してきました。通常の容疑者 (indexus sharedcache、memcached) に出くわしましたが、それぞれにいくつかの制限があります。
- Indexus - 非常に未熟でスタブ化されたセッションインターフェースの実装. ただし、それ以外の点では優れたキャッシング ソリューションです。
- Memcached - db バックエンドに行かないレプリケーション/フェイルオーバーのサポートがほとんどありません. いくつかの SF.Net プロジェクト - すべて初期段階で中止されました...牽引力があるように見えるものは何もなく、完全に商業化されたように見えるもの.
- Microsoft Velocity - OSS ではありませんが、良さそうです。残念ながら、CTP1 がどこでフェールオーバーをサポートしているかはわかりませんでした。また、これに関する明確なロードマップもありません。他の多くの MS 開発プロジェクトと同様に、これがエーテルに落ちてしまうのではないかと心配しています。
私は、このような問題に対する多くのソリューションが FOSS の世界から利用可能になることは当然のことと考えられている Java の世界にかなり慣れています。
.Net の世界で利用できる適切な代替手段はありますか?
tomcat - JBossCacheService: キャッシュ モードを REPL_SYNC に変更した後、キャッシュ put エラーで例外が発生しました
JBoss 4.2 に水平クラスターをセットアップしました。問題を修正するためにキャッシュ モードを REPL_ASYNC から REPL_SYNC に変更するまで、セッション レプリケーションは正常に機能していました。一部のセッション フェイルオーバーに関する警告が表示されるようになりました。
REPL_SYNC を引き続き使用したい場合に、なぜこれが発生するのか、どのように修正するのか、誰にもわかりませんか? どんな助けでも大歓迎です。ありがとう!
java - Tomcat 5.5 でセッション複製を強制する
Tomcat 5.5 で Web アプリケーションを実行しています。
セッションのディスクへのダンプを強制する方法
- リクエストごとに
- 時間間隔ごとに
jakarta-ee - Java EE セッション複製のさまざまなアプローチは何ですか?
私は非常に高い可用性を必要とするプロジェクトに取り組んでおり、私のチームは現在、将来のリリースに向けていくつかのインフラストラクチャとソフトウェアをアップグレードする作業を行っています。
有効にしたい機能の 1 つは、異なるサーバー間だけでなく、理想的には異なるサイト (地理的に分散した) 間でセッションを複製することです。それは可能ですか?アプローチは何ですか?
これまで見てきたことから、セッション レプリケーションを有効にするための通常のベンダーのアプローチは、次のいずれかです。
- シリアライズ可能なセッション属性
- ベンダー固有の xml で追加の構成を使用した web.xml の < 配布可能 /> タグ
他のアプローチはありますか?インメモリ レプリケーションを使用する必要がありますか? または、セッション状態を保持する必要がありますか? 各ソリューションを実装しているアプリ サーバー ベンダーは?
編集:私は報奨金を始めたので、包括的な答えを本当に探しています. :)
tomcat - セッション属性をシリアル化せずに、Tomcatでセッションレプリケーションを実行できますか?
セッション属性をシリアル化せずに、Tomcatでセッションレプリケーションを実行できますか?
jsf - Tomcat 6 クラスタリング - 認証済みセッションのレプリケーション
現在、同じ VPS で実行されている2 つの Tomcat 6.0.32 インスタンス ( Tomcat1およびTomcat2 ) で構成される非常に基本的なクラスターがあります。mod_proxy_ajp と mod_proxy_balancer を Apache 経由のロード バランサーとして (同じ VPS 上で) 使用しています。基本フォーム認証 (j_security_check 経由) を使用して、ユーザーの認証済みセッションを作成しています。
ロード バランサは正常に機能しており、認証されていないセッションが 2 つのインスタンス間で正常に複製されています。ただし、認証されたセッションを各インスタンス間で置き換えることはできません。
session.jsp という非常に基本的な JSP (JPS テンプレートhttp://www.syslog.gr/articles-mainmenu-99/15-tomcat-cluster-session-replication.htmlに基づく) を使用してセッションをテストしています。新しいセッションかどうかを確認し、JSESSIONID を出力します。私は、保護領域内に JSP のコピーを 1 つ、保護領域外に 1 つのコピーを持っています。
次のテストを実行しました。
テスト 1) Tomcat1
上のアプリケーションの保護領域の外にある session.jsp にアクセスし、JSESSIONID を書き留めて、 Tomcat1がリクエストを処理したことをロード バランサーで確認します。次に、 Tomcat1をシャットダウンし、ページを更新します。リクエストはTomcat2によって処理されるようになりました (ロード バランサーによって確認されています)。ページの読み込みが完了すると、元の JSESSIONID が表示され、セッションは存続しています。
テスト 2) Tomcat1
のアプリケーションの保護領域内にある session.jsp にアクセスします。これにより、ログインが求められます。ログイン後、session.jsp に送信され、JSESSIONID を書き留めて、Tomcat1がリクエストを処理したことをロード バランサーで確認します。次に、 Tomcat1をシャットダウンし、ページを更新します。リクエストはTomcat2によって処理されるようになりました (ロード バランサーによって確認されています)。ページが読み込まれると、Cookie をチェックします。新しい JSESSIONID を取得したので、もう一度ログインするよう求められます。
これまでのところ、認証されたセッションは認証されていないセッションのように複製されていないことがわかりました。これは正当な理由ですか、それとも構成の問題を示していますか?
session - スティッキー セッションとセッション レプリケーション
Tomcat のセッション レプリケーションでスティッキー セッションを使用するケースを評価しています。私の最初の評価から、セッション レプリケーションを有効にすると、1 つの tomcat ノードで開始されたセッションが他のすべての tomcat ノードにコピーされるため、セッションを継続するためにスティッキー セッションは必要なく、要求は任意のノードで取得できると考えました。 .
しかし、セッション レプリケーションは一般にスティッキー セッションで使用されるようです。それ以外の場合は、リクエストが他のノードに送信されるたびにセッション ID を変更する必要があります。参照: http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html#Bind_session_after_crash_to_failover_node
スティッキーセッションを有効にする必要がある場合、セッションレプリケーションの実際の使用法を誰か説明できますか? 特定のセッションIDを持つリクエストが常に同じノードに送信される場合、各ノードでセッションを不必要にコピーすることになるためです。ノードがクラッシュした場合には有益かもしれませんが、それは頻繁に発生するわけではなく、そのためだけにセッション レプリケーションを使用するのはやり過ぎのように思えます。
jsf-1.2 - HtmlDataTable はシリアル化できません
クラスター環境でセッション複製を試みています。すべてのバッキング Bean をシリアル化されたオブジェクトに変更した後、HtmlDataTable をシリアル化できません
Caused By: java.io.NotSerializableException: javax.faces.component.html.HtmlDataTable
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1165)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1401)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1159)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:332)
at weblogic.servlet.internal.session.ReplicatedSessionChange.writeExternal(ReplicatedSessionChange.java:124)
at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1430)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1399)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1159)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:332)
at weblogic.rjvm.MsgAbbrevOutputStream.writeObject(MsgAbbrevOutputStream.java:618)
at weblogic.rjvm.MsgAbbrevOutputStream.writeObjectWL(MsgAbbrevOutputStream.java:609)
at weblogic.rmi.internal.ObjectIO.writeObject(ObjectIO.java:38)
at weblogic.rjvm.BasicOutboundRequest.marshalArgs(BasicOutboundRequest.java:88)
at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:221)
at weblogic.cluster.replication.ReplicationManager_1033_WLStub.update(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:600)
at weblogic.cluster.replication.SecureReplicationInvocationHandler$ReplicationServicesInvocationAction.run(SecureReplicationInvocationHandler.java:184)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.cluster.replication.SecureReplicationInvocationHandler.invoke(SecureReplicationInvocationHandler.java:154)
at $Proxy58.update(Unknown Source)
at weblogic.cluster.replication.ReplicationManager.updateSecondary(ReplicationManager.java:532)
at weblogic.servlet.internal.session.ReplicatedSessionData.syncSession(ReplicatedSessionData.java:594)
at weblogic.servlet.internal.session.ReplicatedSessionContext.sync(ReplicatedSessionContext.java:85)
at weblogic.servlet.internal.ServletRequestImpl$SessionHelper.syncSession(ServletRequestImpl.java:2810)
at weblogic.servlet.internal.ServletRequestImpl$SessionHelper.syncSession(ServletRequestImpl.java:2785)
at weblogic.servlet.internal.ServletResponseImpl$1.run(ServletResponseImpl.java:1480)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.ServletResponseImpl.send(ServletResponseImpl.java:1474)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1455)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
助けてください....
java - セッションデータをシリアル化するにはどうすればよいですか
以前、スティッキーセッションを実装しました。
これが私たちの環境へのリンクです:apacheのスティッキーセッションは機能しません
次のタスクは、セッションレプリケーションを実装することです。
現在、tomcatの例を使用して、cart.jsp
この動作を示しています。
すべてのセッション属性はjava.io.serializableを実装する必要があると言われています。
どこに実装するかについてのヒントはありますか?このチュートリアルを厳密にフォローしています。
tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html