Sun Cluster 資料服務開發者指南 (適用於 Solaris 作業系統)

程式設計介面

對於寫入資料服務程式碼,資源管理架構將提供一個低層級或基底 API,建立在基底 API 頂層的較高層級程式庫,以及 SunPlex Agent Builder (自動從您提供的基本輸入中產生資料服務的工具)。

Resource Management API (資源管理 API)

資源管理 API (RMAPI) 提供低層級函數的集合 (這些函數可使資料服務存取有關系統中資源類型、資源以及資源群組的資訊) 以請求本機重新啟動或容錯移轉,以及設定資源狀態。您可以透過 libscha.so 程式庫存取這些函數。RMAPI 以 shell 指令形式與 C 函數形式提供這些回呼方法。請參閱 scha_calls(3HA) 線上手冊和第 3 章, 資源管理 API 參考,以取得有關 RMAPI 函數的更多資訊。另請參閱第 5 章, 資料服務範例,以取得在範例資料服務回呼方法中如何使用這些函數的範例。

資料服務開發程式庫

資料服務開發程式庫 (DSDL) 建立在 RMAPI 的頂層,在保留 RGM 的基礎方法回呼模型的同時,提供較高層級的整合架構。libdsdev.so 程式庫包含 DSDL 函數。DSDL 為資料服務開發提供多種工具,包括︰

對於大多數應用程式來說,DSDL 均會提供建立資料服務所需的大部分或者全部功能性。然而,請注意,DSDL 不會取代低層級 API,而是將其封裝與延伸。實際上,許多 DSDL 函數會呼叫 libscha.so 函數。同樣,您可在使用 DSDL 編碼資料服務的主體時,直接呼叫 libscha.so 函數。

請參閱 第 6 章, 資料服務開發程式庫scha_calls(3HA) 線上手冊,以取得有關 DSDL 的更多資訊。

SunPlex Agent Builder

Agent Builder 是一種自動化建立資料服務的工具。輸入有關目標應用程式與要建立之資料服務的基本資訊。Agent Builder 產生資料服務,其包含原始碼和可執行程式碼 (C 或 Korn Shell)、自訂 RTR 檔案以及 Solaris 套裝軟體。

對於大多數應用程式來說,您可以使用 Agent Builder 來產生完整的資料服務,僅需您進行次要的手動變更即可。具有較複雜要求的應用程式 (例如對其他特性新增驗證檢查) 可能需要 Agent Builder 所無法完成的工作。然而,即使在這些情況下,您也可以使用 Agent Builder 產生程式碼的主體,並手動編碼其餘的程式碼。最低限度,您可以使用 Agent Builder 產生 Solaris 套裝軟體。