IDC知識庫
IDC領(lǐng)域?qū)I(yè)知識百科平臺

高性能數(shù)據(jù)庫服務(wù)器

我們在開發(fā)網(wǎng)站程序的時(shí)候都會用到數(shù)據(jù)庫,而數(shù)據(jù)庫的性能對網(wǎng)站的運(yùn)行速度是至關(guān)重要的。而要想實(shí)現(xiàn)高性能數(shù)據(jù)庫服務(wù)器,集群是最好的選擇。

高性能數(shù)據(jù)庫集群方案:讀寫分離。 其目的在于將訪問壓力分散到集群中的多個(gè)節(jié)點(diǎn),減輕高并發(fā)現(xiàn)的訪問壓力,但是沒有分散存儲壓力。

讀寫分離的基本架構(gòu)圖如下:

一主對從或者一主一從,主節(jié)點(diǎn)負(fù)責(zé)讀寫操作,從節(jié)點(diǎn)負(fù)責(zé)讀操作。

主從分離的實(shí)現(xiàn):

1、數(shù)據(jù)庫搭建主從集群,一主多從或者一主一從

2、主機(jī)負(fù)責(zé)讀寫操作,從機(jī)負(fù)責(zé)讀操作

3、主機(jī)通過復(fù)制將數(shù)據(jù)同步到從機(jī),從而使每一個(gè)數(shù)據(jù)庫都保證數(shù)據(jù)的一致性

主從同步的具體原理:

將主機(jī)的數(shù)據(jù)復(fù)制到多個(gè)從機(jī)(slaves)中,同步過程中,主機(jī)將數(shù)據(jù)庫的操作寫到二進(jìn)制日志(binary log)中,從機(jī)打開一個(gè)io線程,打開和主機(jī)的連接,并將主機(jī)的更新日志寫入從機(jī)的中繼日志中,從機(jī)開一個(gè)sql線程讀取中繼日志中的數(shù)據(jù),進(jìn)行更新,從而保證數(shù)據(jù)的主從數(shù)據(jù)的一致。

我們在這里為了數(shù)據(jù)庫的高性能引入了主從分離,但是往往在做架構(gòu)時(shí),會因?yàn)樘岣呦到y(tǒng)的高性能,高可用等,引入一些操作,會增加系統(tǒng)的復(fù)雜度。 主從的實(shí)現(xiàn)不是難點(diǎn),難點(diǎn)在于引入主從后復(fù)雜度隨之而來的解決方案。

讀寫分離,增加了主從復(fù)制延遲 和分配機(jī)制兩個(gè)負(fù)責(zé)度。

1、主從復(fù)制延遲

以 MySQL 為例,主從復(fù)制延遲可能達(dá)到 1 秒,如果有大量數(shù)據(jù)同步,延遲 1 分鐘也是有可能的。主從復(fù)制延遲會帶來一個(gè)問題:業(yè)務(wù)服務(wù)器將數(shù)據(jù)寫入數(shù)據(jù)庫主服務(wù)器立刻進(jìn)行讀取,但此時(shí)讀操作的的訪問時(shí)從機(jī),主機(jī)還沒有將數(shù)據(jù)復(fù)制到從機(jī),所以此時(shí)查詢會有問題。(比如用戶剛進(jìn)行注冊,但是登錄的時(shí)候卻說無此用戶)

有以下幾種解決方案:

1、根據(jù)業(yè)務(wù)來區(qū)分,關(guān)鍵業(yè)務(wù)的讀寫全部指向主機(jī),非關(guān)鍵業(yè)務(wù)采用讀寫分離

2、加入redis,將redis中數(shù)據(jù)的過期時(shí)間設(shè)置為主從延遲的時(shí)間,當(dāng)進(jìn)行訪問時(shí),redis中有數(shù)據(jù),則說明主從同步未完成,若redis中無數(shù)據(jù)則說明主從同步已完成。

2、分配機(jī)制

讀寫分離,怎么實(shí)現(xiàn)讀寫分離呢?怎么知道讀哪個(gè)數(shù)據(jù)庫呢?一般有兩種方式:程序代碼封裝和中間件封裝。

1、程序代碼的封裝,在代碼中抽象出來數(shù)據(jù)訪問層,,實(shí)現(xiàn)讀寫操作分離和數(shù)據(jù)庫服務(wù)器連接的管理

鏈嶅姟鍣ㄧ鐢?
域名頻道提供多種類型的服務(wù)器租用服務(wù),滿足個(gè)人、大中型企業(yè)的各種需求。
高速光纖直連ChinaNet骨干節(jié)點(diǎn),有效保障網(wǎng)絡(luò)的穩(wěn)定性和高速性。
獨(dú)立服務(wù)器租用用戶無需自己購買服務(wù)器,根據(jù)業(yè)務(wù)需要,提出硬件配置要求。
國內(nèi)服務(wù)器托管服務(wù)十強(qiáng)服務(wù)商,域名頻道為你的服務(wù)器找一個(gè)優(yōu)秀的機(jī)房,進(jìn)入了解詳情http://chouwenlao.cn/server/trusteehost.asp

贊(2)
分享到: 更多 (0)

中國專業(yè)的網(wǎng)站域名及網(wǎng)站空間提供商

買域名買空間