mongodb副本集指的是什么意思-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!

成都創(chuàng)新互聯(lián)公司成立與2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站制作、成都做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元靈山做網(wǎng)站,已為上家服務(wù),為靈山各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792

小編給大家分享一下mongodb副本集指的是什么意思,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

副本集簡介

Mongodb副本集由一組Mongod實例(進程)組成,包含一個Primary節(jié)點和多個Secondary節(jié)點,Mongodb Driver(客戶端)的所有數(shù)據(jù)都寫入Primary,Secondary從Primary同步寫入的數(shù)據(jù),以保持復(fù)制集內(nèi)所有成員存儲相同的數(shù)據(jù)集,提供數(shù)據(jù)的高可用。副本集帶來的架構(gòu)優(yōu)點主要有:

·集群高可用

·讀寫可分離

副本集節(jié)點類型

1.Primary: 副本集的主節(jié)點,可讀寫,唯一可以進行寫操作的節(jié)點,由集群自行選舉出來。

2.Secondary: 正常情況下,Seconary會參與Primary選舉(自身也可能會被選為Primary),并從Primary同步最新寫入的數(shù)據(jù),以保證與Primary存儲相同的數(shù)據(jù)。Secondary可以提供讀服務(wù),增加Secondary節(jié)點可以提供副本集的讀服務(wù)能力,提升副本集的可用性。

3.Arbiter: Arbiter節(jié)點只參與投票,不能被選為Primary,并且不從Primary同步數(shù)據(jù)。非常輕量級的服務(wù),當復(fù)制集成員為偶數(shù)時,最好加入一個Arbiter節(jié)點,以提升復(fù)制集可用性。

4.Priority0: Priority0節(jié)點的選舉優(yōu)先級為0,不會被選舉為Primary,且不能發(fā)起選舉。

5.Vote0: 副本集成員最多50個,參與Primary選舉投票的成員最多7個,其他成員(Vote0)的vote屬性必須設(shè)置為0,即不參與投票。

6.Hidden: Hidden節(jié)點不能被選為主(Priority為0),并且對Driver不可見。因Hidden節(jié)點不會接受Driver的請求,可使用Hidden節(jié)點做一些數(shù)據(jù)備份、離線計算的任務(wù),不會影響復(fù)制集的服務(wù)。

7.Delayed: Delayed節(jié)點必須是Hidden節(jié)點,并且其數(shù)據(jù)落后與Primary一段時間(可配置,比如1個小時)。因Delayed節(jié)點的數(shù)據(jù)比Primary落后一段時間,當錯誤或者無效的數(shù)據(jù)寫入Primary時,可通過Delayed節(jié)點來做數(shù)據(jù)恢復(fù)。

Primary選舉

選舉過程需要消耗一些時間,在此期間,集群將不能接收write操作(即使舊的primary仍然存活,但因為“網(wǎng)絡(luò)分區(qū)”問題導(dǎo)致它不能與其他secondaries通訊),所有的members(包括舊的primary)都處于只讀狀態(tài),選舉對業(yè)務(wù)影響很大,所以需要盡量避免選舉的發(fā)生。

需要進行Primary選舉的場景:

(1)副本集初始化時;

(2)副本集被reconfig;

(3)Secondary節(jié)點檢測到Primary宕機時;

(4)當有Primary節(jié)點主動stepDown(主動降級為Secondary)時;

Primary的選舉受節(jié)點間心跳、優(yōu)先級、最新的oplog時間等多種因素影響。

1.心跳: 復(fù)制集中的所有members之間都互相建立心跳連接,且每隔兩秒發(fā)送一次心跳,如果未在10秒內(nèi)收到回復(fù),則此member將會被標記為“不可用”,Secondary(前提是可被選為Primary)會發(fā)起新的Primary選舉,而其他能正常收到心跳反饋的Secondary能否決新的Primary選舉。

2.優(yōu)先級: 優(yōu)先級即Priority值,每個member都有權(quán)重值,默認為都為1,members傾向于選舉權(quán)重最高者。上述提到,priority為0的member不能被選舉為primary且不能發(fā)起選舉;只要當前primary的權(quán)重最高或者持有最新oplog數(shù)據(jù)的secondaries沒有比它更高的權(quán)重時,集群不會觸發(fā)選舉。當Primary發(fā)現(xiàn)有優(yōu)先級更高Secondary,并且該Secondary的數(shù)據(jù)落后在10s內(nèi),則Primary會主動降級,讓優(yōu)先級更高的Secondary有成為Primary的機會。

3.Optime: 當前member已經(jīng)從primary的oplog中應(yīng)用的最后一個operation的時間戳(此時間戳由primary生成,在oplog中每個操作記錄都有);一個member能成為primary的首要條件就是在所有有效的members中它持有最新的optime。

4.多數(shù)派連接: 一個member要成為primary,它必須與“多數(shù)派”的其他members建立連接,如果未能與足夠多的member建立連接,事實上它本身也無法被選舉為primary;多數(shù)派參考的是“總票數(shù)”,而不是member的個數(shù),因為我們可以給每個member設(shè)定不同的“票數(shù)”。假設(shè)復(fù)制集內(nèi)投票成員數(shù)量為N,則大多數(shù)為 N/2 + 1。

綜上所述,在發(fā)起選舉以后,能成為Primary的節(jié)點需要的條件有:

·能夠與“多數(shù)派”建立連接

·在所有有效的members中它持有最新的optime

·前兩個條件相同的,Priority優(yōu)先級高的成為Primary

·optime與Priority都相等時,誰發(fā)起選舉,誰當選Primary

3.0版本以后副本集成員最多50個,參與Primary選舉投票的成員最多7個,其他成員(Vote0)的vote屬性必須設(shè)置為0,即不參與投票。

副本集中各類角色的特點總結(jié)如下:

mongodb副本集指的是什么意思

備注:

·上述Secondary為默認Secondary,即Priority!=0、vote!=0等;

·Hidden為特殊的Secondary,Delayed為特殊的Hidden。

看完了這篇文章,相信你對mongodb副本集指的是什么意思有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)頁題目:mongodb副本集指的是什么意思-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://muchs.cn/article8/cdciop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司網(wǎng)站內(nèi)鏈、響應(yīng)式網(wǎng)站外貿(mào)建站、小程序開發(fā)、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作