高可用的Oracle數據庫負載均衡技術
概述:深信服AD應用交付平臺作為應用服務器和Oracle數據庫之間的媒介,提供了負載均衡和健康監控的服務。借助AD可實現集中的健康監控,而不需要每臺應用服務器都監控數據庫服務器,從而卸載了應用服務器的負載,釋放寶貴的計算資源。
背景介紹
Oracle RAC主要支持Oracle9i、10g、11g版本,可以支持7×24有效的數據庫應用系統,在低成本服務器上構建高可用性數據庫系統,并且自由部署應用,無需修改代碼。在Oracle RAC環境下,Oracle集成提供了集群軟件和存儲管理軟件,為用戶降低了應用成本。當業務規模需要擴充時,用戶可以按需擴展系統,以保證整個系統的處理性能。
Oracle RAC原理
在一個應用環境當中,所有的服務器使用和管理同一個數據庫,目的是為了分散每一臺服務器的工作量;硬件上至少需要兩臺以上的服務器,而且還需要一個共享存儲設備,同時還需要兩類軟件,一個是集群軟件,另外一個就是Oracle數據庫中的RAC組件。此外,所有服務器上的OS都應該是同一類OS,當一個客戶端發送請求到某一臺服務的listener后,這臺服務器會把請求發送給本機的RAC組件處理,也可能會發送給另外一臺服務器的RAC組件處理。處理完請求后,RAC會通過集群軟件來訪問后端的共享存儲設備。
從邏輯結構上看,每一個參加集群的節點有一個獨立的instance,這些instance訪問同一個數據庫。節點之間通過集群軟件的通訊層來進行通訊。同時為了減少IO的消耗,存在了一個全局緩存服務,因此每一個數據庫的instance,都保留了一份相同的數據庫cache 。
深信服解決方案
在數據庫層,通過深信服AD應用交付設備作為應用服務器和Oracle數據庫之間的媒介,提供了負載均衡和健康監控的服務。借助AD應用交付設備實現了集中的健康監控,而不需要每臺應用服務器都監控數據庫服務器,從而卸載了應用服務器的負載,釋放寶貴的計算資源。
豐富的負載均衡策略
結合健康檢查和業務特點,提供十幾種負載均衡算法組合,滿足多種生產環境下的業務需求。
支持輪詢、加權輪詢、加權最少連接、最快響應、動態反饋、優先級等多種靈活的調度機制。
全面的健康檢查手段
AD內置的節點監視器,可以定義四層和七層的健康檢查機制,深度檢測服務器的健康狀態。
支持基于服務器硬件運行狀況的實時監控,并可根據不同應用類型交互機制設定相應的健康檢查機制。
支持自定義內容檢查機制,通過模擬訪問請求來判斷服務器應用能否正常響應,業務適應能力強。
方案價值
高可用性
AD負責將每一個請求動態分配到合適的數據庫服務器,并且實時檢查各個服務器的健康狀態,將下一個請求分配到最有效率的服務器。無論任何服務器發生故障時,AD都能將請求調度去其他的服務器,從而達到整個系統的高可用性。
高安全性
AD作為應用服務器到后臺數據庫的媒介,避免暴露出提供服務的真實服務器IP地址與端口,從而保護數據庫服務器不受到諸如SYN Flood 等DoS及DDoS攻擊。
高效率
AD負載均衡調度機制,通過實時觀測判斷出最佳狀態的數據庫服務器,從而保證用戶請求通過響應最快的服務器以提供最佳的查詢數據庫服務。
高可靠性
對前端應用服務器在處理超時和連接時可能配置不同的軟件、版本和行為,AD應用交付設備提供了與數據庫的可靠連接,有助于保證所有應用之間的性能一致。