負載平衡器的運作狀態檢查程式會定期檢查所有標記為異常的已配置 Application Server 實例。運作狀態檢查程式不是必需的,但如果沒有運作狀態檢查程式,或者停用了運作狀態檢查程式,異常實例的定期運行狀況檢查就不會執行。
負載平衡器的運作狀態檢查機制使用 HTTP 與應用程式伺服器實例進行通訊。運作狀態檢查程式將 HTTP 請求傳送給指定的 URL 並等待回應。HTTP 回應標頭中的狀態碼在 100 到 500 之間時表示實例處於正常狀態。
若要建立運作狀態檢查程式,請使用 asadmin create-http-health-checker 指令。指定下列參數:
表 4–2 運作狀態檢查程式參數
參數 |
說明 |
預設 |
---|---|---|
url |
指定負載平衡器檢查的偵聽程式之 URL 以確定其運作狀態。 |
“/” |
interval |
指定實例的運作狀態檢查發生的間隔 (以秒為單位)。指定為 0 將停用運作狀態檢查程式。 |
30 秒 |
timeout |
指定逾時間隔 (以秒為單位),必須在該時間間隔內獲得回應才能認為偵聽程式運作正常。 |
10 秒 |
如果應用程式伺服器實例標示為異常,運作狀態檢查程式將輪詢異常實例以確定實例的狀態是否已變為正常。運作狀態檢查程式使用指定的 URL 來檢查所有異常的應用程式伺服器實例,以確定這些異常的應用程式伺服器實例是否已返回到正常狀態。
如果運作狀態檢查程式發現某個異常實例已變為正常,該實例將被增加到正常實例的清單中。
如需更多資訊,請參閱 create-http-health-checker 和 delete-http-health-checker 的文件。
create-http-health-checker 建立的運作狀態檢查程式僅檢查異常實例。若要定期檢查正常實例,請在匯出的 loadbalancer.xml 檔案中設定幾個額外特性。
僅在您已將 loadbalancer.xml 匯出之後,才可透過手動對其進行編輯,來設定這些特性。沒有等效的 asadmin 指令可以使用。
若要檢查正常的實例,請設定以下特性:
表 4–3 運作狀態檢查程式手動特性
特性 |
定義 |
---|---|
True/False 標幟,用於表示是否要 Ping 正常伺服器實例以確定這些實例是否正常。若要 Ping 伺服器實例,請將標幟設定為 True。 |
|
指定在將未回應的伺服器實例標記為異常之前,負載平衡器的運作狀態檢查程式對該伺服器實例執行 Ping 指令的次數。有效範圍在 1 到 1000 之間。設定的預設值為 3。 |
透過編輯 loadbalancer.xml 檔案來設定特性。例如︰
<property name="active-healthcheck-enabled" value="true"/> <property name="number-healthcheck-retries" value="3"/>
如果您增加這些特性,並隨後再次編輯並匯出 loadbalancer.xml 檔案,您必須重新將這些特性增加至該檔案,因為新匯出的配置不包含這些特性。