0

私はJetty8を使用しており、現在2つのインスタンスがセットアップされ、ラウンドロビンロードバランサーの背後で実行されています。MongoDBを介したセッションレプリケーションを使用するように構成しました。2つの例外を除いてうまく機能しています。ここに1つ、別の質問にもう1つを含めます。

  1. 一方のノードのセッションを存続させながら、もう一方のノードの同じセッションがタイムアウトする可能性があります。タイムアウトしたノードに到達するとすぐに、他のノードのユーザーからのアクティビティがある場合でも、セッションが期限切れになったかのように動作します。

誰か提案はありますか?私はjetty-nosqlの実装を掘り下げ始めようとしていますが、誰かが私に時間を節約してくれれば、それが大好きです。

4

1 に答える 1

0

上記の動作は、nosqlSessionマネージャーのバグが原因であることがわかりました。データベースからセッションを読み取るときに、最後にアクセスされた時刻は更新されません。そのため、セッションタイムアウト期間内にノードにアクセスしないと、他のノードにアクセスしたかどうかに関係なく、セッションが無効になります。私はこのバグレポートを提出しました: https ://bugs.eclipse.org/bugs/show_bug.cgi?id = 397193

セッションのアクセス時間がデータベースから更新されたときにデータベースに保存されているアクセス時間で更新されるように、バグで示されたファイルにカスタム変更を加えることで修正しました。

于 2013-03-19T21:28:29.183 に答える