亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mongodb副本集指的是什么意思

發布時間:2020-08-01 10:16:36 來源:億速云 閱讀:295 作者:清晨 欄目:編程語言

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

副本集簡介

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

·集群高可用

·讀寫可分離

副本集節點類型

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

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

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

4.Priority0: Priority0節點的選舉優先級為0,不會被選舉為Primary,且不能發起選舉。

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

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

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

Primary選舉

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

需要進行Primary選舉的場景:

(1)副本集初始化時;

(2)副本集被reconfig;

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

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

Primary的選舉受節點間心跳、優先級、最新的oplog時間等多種因素影響。

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

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

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

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

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

·能夠與“多數派”建立連接

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

·前兩個條件相同的,Priority優先級高的成為Primary

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

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

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

mongodb副本集指的是什么意思

備注:

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

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

看完了這篇文章,相信你對mongodb副本集指的是什么意思有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

池州市| 旅游| 潼南县| 淮安市| 五指山市| 长春市| 当涂县| 昆山市| 阳城县| 高台县| 邹平县| 普洱| 临朐县| 亳州市| 宜君县| 芜湖县| 陇西县| 穆棱市| 隆昌县| 五家渠市| 南安市| 东莞市| 纳雍县| 丹东市| 东乡县| 孟州市| 新建县| 临颍县| 辽宁省| 比如县| 根河市| 共和县| 云阳县| 赤壁市| 通河县| 交城县| 纳雍县| 平顶山市| 应用必备| 晋中市| 左贡县|