Date: 12 5 月, 2025
與高可用性相關的應用程式智能
高可用性 (HA) 背景下的應用程式智慧是指系統即時了解應用程式的行為和健康狀況並做出智慧回應以保持持續服務可用性的能力。
什麼是應用智能?
那麼,什麼是應用智能?應用智能涉及監控、分析和應對多種因素。這些可以包括應用程式狀態,例如應用程式是啟動還是關閉?效能指標包括回應時間、錯誤率、吞吐量和記憶體使用率。應用程式依賴項,例如資料庫或外部服務。最後,他們會觀察使用者行為或模式。使用應用程式智慧可以更全面地了解應用程式。它使用各種數據點來對應用程式本身的狀態(而不僅僅是基礎設施)做出明智的決策。讓我們以 Web 伺服器為例;僅僅知道伺服器是否正在運作是不夠的,還要知道網站是否可以無錯誤地存取?響應是否很慢?用戶是否多次刷新並嘗試存取它?網站所依賴的資料庫是否也正常運作且可存取?以上都是應用智能認為成功的因素的例子。
LifeKeeper 如何使用應用程式智能
那麼,生命守護者使用應用程式智慧來增強關鍵應用程式的高可用性?讓我們來分析一下。LifeKeeper 使用特定於應用程式的恢復工具包 (ARK)包含每個應用程式的知識(樹液,SQL,PostgreSQL,甲骨文, ETC。 )。這使得 LifeKeeper 能夠處理每個應用程式的啟動/關閉過程,監視應用程式和任何依賴項的健康和狀態,以及協調智慧故障轉移/故障復原操作,而不會損壞任何資料。使用者可以在 LifeKeeper 中將相關資源按層次關係分組,這使得 LifeKeeper 能夠了解不同應用程式元件之間的依賴關係(例如,當服務依賴 IP 或資料庫時)。這確保了 LifeKeeper發生故障轉移依照正確的順序和復原操作不會破壞應用程式或使其處於不一致或損壞的狀態。
此外,LifeKeeper 還會進行深度健康檢查,不僅確定伺服器是否啟動,還會進行更詳細的檢查,例如資料庫是否接受連線或 Web 服務是否會傳回預期的回應。它甚至可以監視某些預期的後台進程是否正在運行。 LifeKeeper 還使用特定於應用程式的設定檔來確保跨節點的資料配置一致性以及應用程式設定得到正確保存或恢復。最後,LifeKeeper 能夠使用自訂腳本進一步微調這些深度檢查,以智慧地支援不太常見或自主開發的應用程式。
PostgreSQL ARK:應用程式智慧的真實範例
為了更深入地了解,我們可以看看 PostgreSQL ARK 如何使用應用程式智慧。 PostgreSQL ARK 使用特定的邏輯來監控、啟動、停止和故障轉移 PostgreSQL,透過了解特定的 PostgreSQL 啟動和關閉命令、了解關鍵設定檔(如 postgresql.conf 和 pg_hba.conf)以及了解資料目錄佈局和鎖定檔案行為。
PostgreSQL 的智慧監控與有序故障轉移
此外,它不僅檢查 PostgreSQL 是否正在運行,還檢查資料庫是否回應查詢、是否可以存取正確的資料目錄以及交易日誌中是否有任何損壞?它使用依賴關係追蹤來確保 PostgreSQL 經常依賴的資源可用,例如用於客戶端連接的虛擬 IP 和用於其資料目錄的掛載儲存。這確保了 LifeKeeper 在發生故障轉移時可以按正確的順序啟動資源,例如先掛載磁碟,啟動 IP,然後啟動 PostgreSQL,然後再驗證服務健康狀況。
防止裂腦並確保資料完整性
最後,LifeKeeper 使用應用程式智慧來避免裂腦(一種多個節點認為它是「主」節點的現象)場景,透過避免啟動兩個具有相同資料目錄的活動 PostgreSQL 伺服器,並透過在寫入仍在進行時不進行故障轉移來避免資料損壞。這些是 LifeKeeper 和各種 ARK 實現應用程式智慧的所有不同方式的範例,以使組合產品盡可能具有彈性。
透過智慧高可用性增強應用程式的彈性
總之,LifeKeeper 的內建應用程式智慧透過了解應用程式的行為方式及其正確運作所需的條件,實現了精確、快速且可靠的故障轉移和復原。
確保應用程式的彈性和不間斷的服務—請求演示或者開始免費試用今天就體驗 SIOS LifeKeeper 如何使用應用程式智慧來保護您的關鍵工作負載。
作者: Cassy Hendricks-Sinke,首席軟體工程師,團隊負責人
經許可轉載SIOS