群集閥值物件

目錄

簡介

群集閥值與任何其他 Tomcat 閥值 沒有不同。群集閥值是 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,您可以使用此閥值來通知群集,表示在此要求期間未修改過 Session,而且群集不需要探查 Session 管理員是否有變更。如果要求符合此過濾器模式,群集會假設沒有任何 Session 變更。範例過濾器看起來會像 filter=".*\.gif|.*\.js|.*\.jpeg|.*\.jpg|.*\.png|.*\.htm|.*\.html|.*\.css|.*\.txt" 。過濾器是使用 java.util.regex 的正規表示法。如果沒有指定過濾器模式,或者過濾器模式組態為空字串,則不會進行任何過濾。
primaryIndicator 布林值,因此為 true,而且複製閥值會插入一個要求屬性,其名稱由 primaryIndicatorName 屬性定義。插入要求屬性的值為 Boolean.TRUEBoolean.FALSE
primaryIndicatorName 預設值為 org.apache.catalina.ha.tcp.isPrimarySession 此處定義的值為要求屬性的名稱,其中包含布林值,表示此伺服器上的工作階段是否為主工作階段。
statistics 布林值。如果您希望閥門收集要求統計資料,請設定為 true。預設值為 false

org.apache.catalina.ha.session.JvmRouteBinderValve

如果發生 mod_jk 故障移轉,JvmRouteBinderValve 會取代工作階段 Id 中的 jvmWorker 屬性,以使未來的要求固定在此節點。如果您想要備援功能,請勿啟用此閥門,但如果您希望故障移轉固定,且 mod_jk 不必持續探測已中斷的節點,請使用此閥門。

屬性

屬性 說明
className org.apache.catalina.ha.session.JvmRouteBinderValve
enabled 預設值為 true 執行時期屬性,用於開啟和關閉工作階段的 jvmRoute 值的移轉。
sessionIdAttribute 故障移轉前的舊工作階段識別碼會使用此屬性註冊在要求屬性中。預設屬性名稱為 org.apache.catalina.ha.session.JvmRouteOriginalSessionID

org.apache.catalina.ha.authenticator.ClusterSingleSignOn

ClusterSingleSignOn 支援叢集中的單一登入功能。透過使用 ClusterSingleSignOn,由一個 Web 應用程式驗證的安全身分會由同一虛擬主機上的其他 Web 應用程式辨識,並傳播到叢集中的其他節點。

請參閱 Host 元素上的 單一登入 特殊功能,以取得更多資訊。

注意:ClusterSingleSignOn 只能在主機層級叢集中設定。

屬性

屬性 說明
className

要使用的實作的 Java 類別名稱。這 必須 設定為 org.apache.catalina.ha.authenticator.ClusterSingleSignOn

cookieDomain

設定要使用於 SSO Cookie 的主機網域。

mapSendOptions

閥門使用複製的映射。您可以設定此映射傳送訊息的方式的旗標。預設值為 6 (同步)。請注意,如果您使用非同步訊息傳遞,則接收節點有可能以與傳送順序不同的順序處理更新訊息。

requireReauthentication

預設為 false。旗標用於判斷是否需要對每個要求重新對安全 Realm 進行驗證。如果為「true」,此閥門會使用快取的安全憑證 (使用者名稱和密碼) 對與 SSO 工作階段關聯的每個要求重新對 Realm 進行驗證。如果為「false」,閥門本身可以根據有效的 SSO Cookie 的存在來驗證要求,而無需重新檢查 Realm

rpcTimeout

閥門使用複製的映射。這是傳輸狀態至/從叢集中其他節點的訊息的逾時。如果未指定,則使用預設值 15000 毫秒。

terminateOnStartFailure

如果您希望在底層複製無法啟動時,將此 Valve 設為 true。如果 Valve 失敗,則關聯的容器將無法啟動。如果您將此屬性設為 false,且底層複製無法啟動,則 Valve 將啟動,並嘗試加入叢集,並在心跳處理程序中啟動複製。如果未指定,則使用預設值 false

accessTimeout ping 訊息的逾時時間。如果遠端映射未在此逾時期間回應,則視為已消失。預設值為 5000 毫秒。