TomcatのJSESSIONIDの組み込みジェネレーターをオーバーライドして、ユーザーのログインに基づいてこのCookieのカスタム値を作成できるようにすることは可能ですか?
これが必要な理由:「スティッキーセッション」を備えたロードバランサーがあり、同じJSESSIONIDを持つリクエストを同じサーバーにルーティングするように構成されており、同じユーザーが異なるサーバーで2つの異なるセッションを開始できる状況を防ぎたい。
PS:これはすべてAmazonEC2に関するものです
TomcatのJSESSIONIDの組み込みジェネレーターをオーバーライドして、ユーザーのログインに基づいてこのCookieのカスタム値を作成できるようにすることは可能ですか?
これが必要な理由:「スティッキーセッション」を備えたロードバランサーがあり、同じJSESSIONIDを持つリクエストを同じサーバーにルーティングするように構成されており、同じユーザーが異なるサーバーで2つの異なるセッションを開始できる状況を防ぎたい。
PS:これはすべてAmazonEC2に関するものです
これを行うためのより良い方法があります:クラスタ内のセッション レプリケーションに関する tomcat のマニュアルを参照してください。
これを行うには、独自にカスタマイズしたセッションマネージャーを定義します。
http://tomcat.apache.org/tomcat-5.5-doc/config/manager.html
ただし、ユースケースではおそらく機能しません。ユーザーがログインする前にユーザー名がわからないが、ログインのためにセッションを作成する必要があります。
セッションをバックエンドにプッシュすることが最善のアプローチだと思います。Tomcatで配布されているJDBCStoreセッションマネージャーを使用できます。memecachedの実装もあります。
複数のサーバーの目的が冗長性である場合は、クラスタリングを使用することもできますが、負荷をスケーリングすることが目標である場合は役に立ちません。