建立資料服務的第一步是確定目標應用程式是否滿足高可用性或可延伸性的需求。如果應用程式無法滿足所有需求,您可以修改應用程式原始碼以使其高度可用或可延伸。
以下清單概括了使應用程式高度可用或可延伸所應滿足的要求。如需更多詳細資訊,或如需修改應用程式原始碼,請參閱附錄 B範例資料服務程式碼清單。
可延伸服務必須滿足以下高可用性的條件,還必須滿足一些附加條件,這些附加條件位於此清單的後面。
在 Sun Cluster 環境中,支援網路 (主從式模型) 和不支援網路 (無用戶端) 的應用程式均是高度可用或可延伸的潛在候選程式。但是,在時間共用環境中 (在此環境中,應用程式在透過 telnet 或 rlogin 存取的伺服器上執行),Sun Cluster 無法提供增強的可用性。
該應用程式必須為當機容限。也就是說,它必須能在非預期的節點故障後,重新啟動時回復磁碟資料 (如有必要)。而且,當機後的回復時間必須是有限的。當機容限是應用程式高度可用所應必備的條件,因為回復磁碟並重新啟動該應用程式的能力關係到資料完整性問題。不要求資料服務必須可以回復連線。
應用程式必須不附屬於在其上執行的節點之實體主機名稱。請參閱主機名稱,以取得附加資訊。
應用程式必須在將多個 IP 位址配置為線上的環境中正確作業。範例包含具有多重主目錄主機的環境 (在該環境中,節點位於多個公用網路上) 和在其節點上將多個邏輯介面配置為在一個硬體介面上處於線上的環境。
若要高度可用,應用程式資料必須位於叢集檔案系統中。請參閱多重主機資料。
如果應用程式將硬接線的路徑名稱用於資料位置,您可以將該路徑變更為指向叢集檔案系統中的位置之符號連結,而不必變更應用程式原始碼。請參閱使用多重主機資料放置的符號連結,以取得附加資訊。
應用程式二進位檔和程式庫可以位於本機的每個節點上或位於叢集檔案系統中。位於叢集檔案系統中的優勢是單次安裝即可。其劣勢是如果您使用滾動升級,則當應用程式在 RGM 的控制下執行時,二進位檔將在使用中。
用戶端應該在首次嘗試逾時後能自動重試查詢。如果應用程式和協定已處理了單一伺服器當機和重新啟動的情況,則也可以處理所在資源群組容錯移轉或切換保護轉移的情況。請參閱用戶端重試,以取得附加資訊。
應用程式不得在叢集檔案系統中具有 UNIX® 網域通訊埠或具名的管道。
另外,可延伸服務必須滿足以下需求︰
應用程式必須能執行多個實例,且多個實例均運行在叢集檔案系統的同一應用程式資料上。
應用程式必須為多個節點的同時存取提供資料一致性。
應用程式必須透過全域可視機制 (如叢集檔案系統) 實施足夠的鎖護。
對於可延伸服務,應用程式特性還決定了負載平衡策略。例如,負載平衡策略 Lb_weighted,允許任何實例回應用戶端請求,而不適用於使用伺服器上的記憶體內快取進行用戶端連線之應用程式。在此情況下,您應該指定負載平衡策略,將指定用戶端的流量限定為應用程式的一個實例。負載平衡策略 Lb_sticky 和 Lb_sticky_wild 重複將某一用戶端的所有請求傳送至同一應用程式實例,在此實例中它們可以使用記憶體內快取。請注意,如果多個用戶端請求來自不同用戶端,則 RGM 在該服務的實例間分配這些請求。請參閱實施故障轉移資源,以取得有關設定可延伸資料服務的負載平衡策略的更多資訊。