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