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
を使用すると、ある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 ミリ秒です。 |