(草稿)
目錄
第二章 維護(hù)服務(wù)的延續(xù)性
在正常工作條件下,一個(gè)MongoDB的部署將根據(jù)系統(tǒng)的性能和功能目標(biāo)來運(yùn)行。不過,不時(shí)地某些不可避免的失敗或意外動作可能會以不利的方式影響系統(tǒng)。
存儲設(shè)備艰毒,網(wǎng)絡(luò)連接筐高,電源和其他硬件組件失效。通過冗余硬件組件的方法這些風(fēng)險(xiǎn)會被減輕丑瞧。同樣柑土,一個(gè)MongoDB提供可配置冗余遍及其軟件組件和數(shù)據(jù)存儲。
復(fù)制集
MongoDB維護(hù)多個(gè)數(shù)據(jù)復(fù)制绊汹,稱為復(fù)制集稽屏,使用本地復(fù)制。用戶應(yīng)該部署復(fù)制集以幫助防止數(shù)據(jù)庫宕機(jī)西乖。復(fù)制集是自動修復(fù)的狐榔,因?yàn)楣收线w移和恢復(fù)是完全自動的,所以不必在系統(tǒng)發(fā)生故障時(shí)通過手動干預(yù)來恢復(fù)获雕。
復(fù)制集還通過執(zhí)行系統(tǒng)維護(hù)的方法(也就是說:更新硬件和軟件)提供操作靈活性同時(shí)保持服務(wù)延續(xù)性薄腻。這是一個(gè)重要的功能,因?yàn)檫@些操作在傳統(tǒng)系統(tǒng)中能占三分之一的宕機(jī)時(shí)間届案。一個(gè)復(fù)制集由多個(gè)數(shù)據(jù)庫副本組成庵楷。在任何給定時(shí)間,一個(gè)成員充當(dāng)主復(fù)制集成員楣颠,其他成員充當(dāng)次復(fù)制集成員尽纽。如果主復(fù)制集遭受中斷(例如:電力中斷,硬件故障童漩,網(wǎng)絡(luò)中斷)弄贿,其中一個(gè)從復(fù)制集自動選舉為主復(fù)制集,通常在幾秒內(nèi)矫膨,客戶端連接自動故障遷移到新的主復(fù)制集挎春。在一個(gè)新的主復(fù)制集選舉的過程中看疙,從復(fù)制集可以繼續(xù)提供讀操作服務(wù)。
MongoDB復(fù)制集中的集數(shù)是可配置的直奋,大量復(fù)制集成員在數(shù)據(jù)庫宕機(jī)時(shí)提供了更高的數(shù)據(jù)耐久性和防范性能庆。(例如:在多機(jī)故障,機(jī)架故障脚线,數(shù)據(jù)中心故障搁胆,或網(wǎng)絡(luò)中斷情況下)最多可配置50個(gè)成員復(fù)制集,通過操作靈活性和廣泛的數(shù)據(jù)分布在多個(gè)地理位置邮绿。
復(fù)制集選舉
在主副本集拋出故障事件時(shí)渠旁,由擴(kuò)展實(shí)現(xiàn)了基于一致性Raft算法協(xié)議的選舉進(jìn)程控制。這不僅允許快速遷移實(shí)現(xiàn)最大化服務(wù)可用性船逮,算法確保評估最合適的從成員被選舉至主成員并減少不必遷移的風(fēng)險(xiǎn)(也稱為“誤報(bào)”)顾腊。在次復(fù)制集成員被升級前,選舉算法會驗(yàn)證一些參數(shù)挖胃,包括:
1.選舉Id,時(shí)間戳和持久化的日志以識別這些復(fù)制集成員已經(jīng)從主復(fù)制集上應(yīng)用了最新更新杂靶。
2.心跳和與大多數(shù)其他復(fù)制集成員的連接狀態(tài)。
3.用戶定義的優(yōu)先級分配給復(fù)制集成員酱鸭。例如吗垮,如果主數(shù)據(jù)中心失敗時(shí),管理員能將所有的位于次級數(shù)據(jù)中心的復(fù)制集作為候選凹髓。
一旦選舉進(jìn)程確定了新的主復(fù)制集烁登,所有次成員自動開始復(fù)制它。如果原主復(fù)制集回歸在線狀態(tài)蔚舀,選舉進(jìn)程會識別它的狀態(tài)變化并自動承擔(dān)次要角色饵沧。
以下提供一個(gè)最佳實(shí)踐和指導(dǎo)教程 戳
本文譯者:吳錦晟 R&D Director@MFG
原文鏈接:http://www.reibang.com/p/633f545362ee
版權(quán)歸譯者所有,轉(zhuǎn)載請注明出處