Sun Java System Application Server 9.1 高可用性管理指南

建立 HTTP 運作狀態檢查程式

負載平衡器的運作狀態檢查程式會定期檢查所有標記為異常的已配置 Application Server 實例。運作狀態檢查程式不是必需的,但如果沒有運作狀態檢查程式,或者停用了運作狀態檢查程式,異常實例的定期運行狀況檢查就不會執行。負載平衡器無法判斷運作不正常的實例在何時開始正常運作。

負載平衡器的運作狀態檢查機制使用 HTTP 與 Application Server 實例進行通訊。運作狀態檢查程式將 HTTP 請求傳送給指定的 URL 並等待回應。HTTP 回應標頭中的狀態碼在 100 到 500 之間時表示實例處於正常狀態。


備註 –

如果您的部署方案把負載平衡器置於叢集前端,而叢集中的實例使用安全連接埠並啟用用戶端憑證驗證功能,則運作狀態檢查程式將無法檢查這些實例的運作狀態。因此,那些實例一律會標記成異常,且不會將請求傳送給它們。


建立運作狀態檢查程式

若要指定運作狀態檢查程式特性,可使用管理主控台或 asadmin create-http-health-checker 指令。若要在管理主控台中執行此動作,請瀏覽到 [HTTP 負載平衡器] 節點,將其展開並選取負載平衡器。然後開啟 [目標] 標籤,並在 [目標] 表格中,為所需的目標按一下 [編輯運作狀態檢查程式] 連結。指定下列參數。

表 5–2 運作狀態檢查程式參數

參數 

說明 

預設 

Load Balancer 

按一下 [已啟用] 核取方塊,使選取的伺服器可進行負載平衡。 

False/已停用 

Disable Timeout 

此伺服器停用後到達靜止狀態的分鐘數。 

30 分鐘 

url 

指定負載平衡器檢查的偵聽程式之 URL 以確定其運作狀態。 

“/” 

interval 

指定實例的運作狀態檢查發生的間隔 (以秒為單位)。指定為 0 將停用運作狀態檢查程式。 

30 秒 

timeout 

指定逾時間隔 (以秒為單位),必須在該時間間隔內獲得回應才能認為偵聽程式運作正常。 

10 秒 

如果 Application Server 實例標記為異常,運作狀態檢查程式將輪詢異常實例以確定實例的狀態是否已變為正常。運作狀態檢查程式使用指定的 URL 來檢查所有異常的 Application Server 實例,以確定這些異常的 Application Server 實例是否已返回到正常狀態。

如果運作狀態檢查程式發現某個異常實例已變為正常,該實例將被增加到正常實例的清單中。

如需有關此指令的更多資訊,請參閱 create-http-health-checker(1)delete-http-health-checker(1)

運作正常實例的其他運作狀態檢查特性

create-http-health-checker 建立的運作狀態檢查程式僅檢查異常實例。若要定期檢查運作正常的實例,請在匯出的 loadbalancer.xml 檔案中設定某些其他特性。


備註 –

您必須將 loadbalancer.xml 匯出之後,才能以手動編輯方式設定這些特性。沒有等效的 asadmin 指令可以使用。


若要檢查運作正常實例,請設定以下特性。

表 5–3 運作狀態檢查程式手動特性

特性 

定義 

active-healthcheck-enabled

True/False 標幟,用於表示是否要 Ping 正常伺服器實例以確定這些實例是否正常。若要 Ping 伺服器實例,請將標幟設定為 True。 

number-healthcheck-retries

指定在將未回應的伺服器實例標記為異常之前,負載平衡器的運作狀態檢查程式對該伺服器實例執行 Ping 指令的次數。有效範圍在 1 到 1000 之間。設定的預設值為 3。 

透過編輯 loadbalancer.xml 檔案來設定特性。例如︰

<property name="active-healthcheck-enabled" value="true"/>
<property name="number-healthcheck-retries" value="3"/>

若您增加這些特性,然後進行編輯並再次匯出 loadbalancer.xml 檔案,新匯出的配置不會包含這些特性。您必須對新匯出的配置再次增加這些特性。