Cluster Valve オブジェクト
目次
はじめに
クラスタバルブは、他の Tomcat Valve
と何ら変わりません。クラスタバルブは、HTTPリクエストの呼び出しチェーンのインターセプターであり、クラスタリング実装はこれらのバルブを使用して、データに関するインテリジェントな決定と、データをレプリケートするタイミングを決定します。
クラスタバルブは、org.apache.catalina.ha.ClusterValve
インターフェースを実装する必要があります。これは、org.apache.catalina.Valve
インターフェースを拡張した単純なインターフェースです。
org.apache.catalina.ha.tcp.ReplicationValve
ReplicationValve
は、HTTPリクエストの最後にクラスタに通知し、クラスタがレプリケートするデータがあるかどうかを判断できるようにします。属性
属性 | 説明 |
---|---|
className | 値を org.apache.catalina.ha.tcp.ReplicationValve に設定します。 |
filter | 既知のファイル拡張子またはURLの場合、このValveを使用して、このリクエスト中にセッションが変更されなかったことをクラスタに通知できます。これにより、クラスタはセッションマネージャの変更をプローブする必要がなくなります。リクエストがこのフィルタパターンに一致する場合、クラスタはセッションの変更がなかったと見なします。フィルタの例は filter=".*\.gif|.*\.js|.*\.jpeg|.*\.jpg|.*\.png|.*\.htm|.*\.html|.*\.css|.*\.txt" のようになります。フィルタは java.util.regex を使用した正規表現です。フィルタパターンが指定されていない場合、またはフィルタパターンが空文字列になるように構成されている場合、フィルタリングは行われません。 |
primaryIndicator | ブール値。trueに設定すると、レプリケーションバルブは、primaryIndicatorName 属性で定義された名前を持つリクエスト属性を挿入します。リクエスト属性に挿入される値は、Boolean.TRUE または Boolean.FALSE のいずれかです。 |
primaryIndicatorName | デフォルト値は org.apache.catalina.ha.tcp.isPrimarySession です。ここで定義された値は、セッションがこのサーバーでプライマリかどうかを示すブール値を含むリクエスト属性の名前です。 |
statistics | ブール値。バルブにリクエスト統計を収集させたい場合は、true に設定します。デフォルト値は false です。 |
org.apache.catalina.ha.session.JvmRouteBinderValve
JvmRouteBinderValve
はセッションIDの jvmWorker
属性を置き換えて、将来のリクエストがこのノードに固定されるようにします。フォールバック機能が必要な場合は、このバルブを有効にしないでください。ただし、フェイルオーバーを固定したい場合、およびmod_jkがダウンしたノードをプローブし続ける必要がないようにする場合は、このバルブを使用します。属性
属性 | 説明 |
---|---|
className |
org.apache.catalina.ha.session.JvmRouteBinderValve
|
enabled | デフォルト値は true です。セッションの jvmRoute 値のターンオーバーをオン/オフするためのランタイム属性です。 |
sessionIdAttribute | フェイルオーバー前の古いセッションIDは、この属性を持つリクエスト属性に登録されます。デフォルトの属性名は org.apache.catalina.ha.session.JvmRouteOriginalSessionID です。 |
org.apache.catalina.ha.authenticator.ClusterSingleSignOn
ClusterSingleSignOn
は、クラスタ内でのシングルサインオンの機能をサポートします。 ClusterSingleSignOn
を使用すると、1つのWebアプリケーションによって認証されたセキュリティIDが、同じ仮想ホスト上の他のWebアプリケーションによって認識され、クラスタ内の他のノードに伝播されます。詳細については、Host要素のシングルサインオンの特殊機能を参照してください。
注: ClusterSingleSignOn はホストレベルのクラスタでのみ設定できます。
属性
属性 | 説明 |
---|---|
className |
使用する実装のJavaクラス名。これは org.apache.catalina.ha.authenticator.ClusterSingleSignOn に設定する必要があります。 |
cookieDomain |
ssoクッキーに使用するホストドメインを設定します。 |
mapSendOptions |
Valve はレプリケートされたマップを使用します。このマップがメッセージを送信する方法のフラグを設定できます。デフォルト値は |
requireReauthentication |
デフォルトは false です。各リクエストをセキュリティRealmに再認証する必要があるかどうかを決定するフラグです。「true」の場合、このValveはキャッシュされたセキュリティ資格情報 (ユーザー名とパスワード) を使用して、SSOセッションに関連付けられた各リクエストをRealmに再認証します。「false」の場合、Valveは有効なSSOクッキーの存在に基づいてリクエストを認証できます。Realmで再確認する必要はありません。 |
rpcTimeout |
Valve はレプリケートされたマップを使用します。これは、クラスタ内の他のノードとの間で状態を転送するメッセージのタイムアウトです。指定しない場合は、デフォルト値の |
terminateOnStartFailure |
基になるレプリケーションが起動に失敗した場合に、このValveを失敗させる場合は |
accessTimeout | pingメッセージのタイムアウトです。リモートマップがこのタイムアウト期間内に応答しない場合は、消えたとみなされます。デフォルト値は 5000 ミリ秒です。 |