探討數(shù)據(jù)庫(kù)負(fù)載均衡原理
不管你是用oracle還是SQL,對(duì)于數(shù)據(jù)庫(kù)的處理,我們不得不提到數(shù)據(jù)庫(kù)負(fù)載均衡技術(shù)。面對(duì)超高速的數(shù)據(jù)處理運(yùn)轉(zhuǎn)負(fù)載均衡的地位至關(guān)重要。針對(duì)這個(gè)問題,我們將要瀏覽的文章就是關(guān)于這方面的原理架構(gòu)分析。
數(shù)據(jù)庫(kù)負(fù)載均衡實(shí)現(xiàn)原理
實(shí)現(xiàn)數(shù)據(jù)庫(kù)負(fù)載均衡技術(shù),首先要有一個(gè)可以控制連接數(shù)據(jù)庫(kù)的控制端。在這里,它截?cái)嗔藬?shù)據(jù)庫(kù)和程序的直接連接,由所有的程序來訪問這個(gè)中間層,然后再由中間層來訪問數(shù)據(jù)庫(kù)。這樣,我們就可以具體控制訪問某個(gè)數(shù)據(jù)庫(kù)了,然后還可以根據(jù)數(shù)據(jù)庫(kù)的當(dāng)前負(fù)載采取有效的數(shù)據(jù)庫(kù)均衡策略,來調(diào)整每次連接到哪個(gè)數(shù)據(jù)庫(kù)。好處在兩個(gè)方面:首先,它成功地將數(shù)據(jù)庫(kù)放到了內(nèi)網(wǎng)之中,更好地保護(hù)了數(shù)據(jù)庫(kù)的安全性。如果數(shù)據(jù)庫(kù)也在公網(wǎng)上,1433端口是很容易被攻擊的,所以要保護(hù)數(shù)據(jù)庫(kù)與之的連接,就用到了中間層。它可以將數(shù)據(jù)庫(kù)更加好地保護(hù)在內(nèi)網(wǎng)。其次,對(duì)應(yīng)用來說完全透明,集群暴露出來的就是一個(gè)IP ,連接數(shù)據(jù)庫(kù)的所有連接都可以控制,更方便DBA對(duì)數(shù)據(jù)的管理,看哪些連接更耗費(fèi)數(shù)據(jù)庫(kù)資源,以便更好地優(yōu)化代碼。
但是,也有兩點(diǎn)要注意:第一,必須要做成Windows的服務(wù)程序。Windows發(fā)展到今天,如果以一個(gè)集成的大系統(tǒng)來講,數(shù)據(jù)庫(kù)負(fù)載均衡的功能,使服務(wù)程序更加穩(wěn)定,也更加安全,這樣做即使用戶不登錄機(jī)器,也可以使用。第二,必須要使用多個(gè)中間層。從中間層的作用可以看出,它承接了數(shù)據(jù)庫(kù)的所有連接,所以,一旦出了問題,就會(huì)導(dǎo)致整個(gè)系統(tǒng)癱瘓。所以做多個(gè)中間層是必要的,這樣,如果一個(gè)壞了可以登錄到另一個(gè)。