官术网_书友最值得收藏!

1.1.3 冗余

實(shí)現(xiàn)可靠性的一個(gè)方法是冗余,即在系統(tǒng)里使用兩個(gè)或多個(gè)組件扮演相同角色。其目的是系統(tǒng)在需要替換組件的情況下,準(zhǔn)備一個(gè)可以用來(lái)替換的組件。這種實(shí)現(xiàn)冗余的方式也可以稱為“熱”備份,即冗余組件與主要組件并行參與系統(tǒng)運(yùn)行,當(dāng)檢測(cè)到主要組件發(fā)生故障時(shí),系統(tǒng)會(huì)自動(dòng)切換到冗余組件。數(shù)據(jù)庫(kù)服務(wù)器會(huì)經(jīng)常使用到冗余。MySQL在冗余方面具有明顯的優(yōu)勢(shì),可以利用復(fù)制實(shí)現(xiàn)數(shù)據(jù)庫(kù)服務(wù)器的冗余。

MySQL的復(fù)制使用起來(lái)并不復(fù)雜,它的原理也非常簡(jiǎn)單。用戶需要設(shè)置第二臺(tái)數(shù)據(jù)庫(kù)服務(wù)器以保存數(shù)據(jù)副本(從服務(wù)器),它將從原始服務(wù)器(主服務(wù)器)獲取所有的數(shù)據(jù)更改,并將更改應(yīng)用到從服務(wù)器。因此,系統(tǒng)可以在從服務(wù)器上獲得一個(gè)與主服務(wù)器完全一致的數(shù)據(jù)副本。復(fù)制是構(gòu)建InnoDB Cluster的基礎(chǔ)組件之一。理解MySQL的復(fù)制功能可以讓讀者更好地了解InnoDB Cluster的工作方式,同時(shí)也會(huì)理解InnoDB Cluster的復(fù)雜程度。

通常情況下,冗余可以通過(guò)額外的專用硬件來(lái)實(shí)現(xiàn)。例如,服務(wù)器使用UPS,應(yīng)用系統(tǒng)使用多臺(tái)服務(wù)器,系統(tǒng)使用多個(gè)數(shù)據(jù)采集節(jié)點(diǎn),等等。數(shù)據(jù)庫(kù)管理員或者系統(tǒng)架構(gòu)師必須清楚在哪些節(jié)點(diǎn)配置冗余,在發(fā)生故障時(shí)可以使用這些節(jié)點(diǎn)的副本來(lái)保證系統(tǒng)的持續(xù)可用。

冗余的復(fù)雜性取決于成本的投入,例如,系統(tǒng)可以準(zhǔn)備一個(gè)離線的備用組件,當(dāng)系統(tǒng)的正常組件發(fā)生故障時(shí),用戶可以手動(dòng)激活離線的組件。離線的備用組件具有啟動(dòng)速度慢,需要人工干預(yù)等缺點(diǎn),但如果用戶的系統(tǒng)可以接受這個(gè)程度,并且希望消耗的成本不高,則可以采用該方案。或者,用戶可以采用一個(gè)在線的備用組件,當(dāng)正常組件發(fā)生故障時(shí),人工進(jìn)行切換。相對(duì)于使用離線的備用組件方案,它的切換時(shí)間短,但它的實(shí)時(shí)在線特征會(huì)增加日常運(yùn)營(yíng)的成本。此外,用戶還可以通過(guò)編寫(xiě)應(yīng)用程序代碼,來(lái)實(shí)現(xiàn)自動(dòng)檢測(cè)故障并切換到備用組件等功能。該方案雖然速度快、效果好,但是它所需要的成本也會(huì)更多(開(kāi)發(fā)應(yīng)用程序、備用組件的日常運(yùn)維,等等)。因此,用戶需要根據(jù)自己的需求和能力來(lái)調(diào)整冗余,可以從使用簡(jiǎn)單的離線備用組件開(kāi)始,隨著系統(tǒng)的發(fā)展,添加使用更復(fù)雜的組件。

主站蜘蛛池模板: 开化县| 香河县| 台中市| 株洲市| 津南区| 中卫市| 陵川县| 平顶山市| 托克逊县| 阿荣旗| 涟源市| 顺义区| 霍州市| 成武县| 元谋县| 罗城| 张家界市| 曲阳县| 左权县| 甘泉县| 碌曲县| 荣昌县| 庆元县| 晋中市| 汝城县| 临汾市| 普陀区| 改则县| 沛县| 安徽省| 滨州市| 岐山县| 五寨县| 乌拉特后旗| 哈密市| 新绛县| 孝义市| 东光县| 柏乡县| 湘潭市| 博野县|