天天看點

【MongoDB學習筆記34】MongoDB副本集設計原則

MongoDB中副本集中有個重要的概念:大多數

因為副本集隻有一個節點為可讀寫,其他節點隻可讀;而主節點的選擇由大多數決定的,隻有在得到支援時才能繼續作為主節點。

(1)大多數這個數字的确認公式:M=int((N/2)+1)

*大多數是指個數等于大于M,但是要小于等于N;N為副本集中伺服器的總數

(2)一個副本集中一旦大多數不可用,整個副本集不可用;對于N是偶數的情況下,N/2個節點失效,整個副本集失效;

主節點選舉機制:

(1)當備份節點連不上主節點,它會聯系其他副本內建員将自己選舉為主節點;

(2)其他成員會先做幾項檢查:

A.自身是否與主節點連通?

B.希望被選舉為主節點的備份節點的資料是否是最新?

C.有沒有其他優先級更高的成員可以被選舉為主節點?

(3)隻要一個“大多數”成員投了反對票,選舉就否決了;隻有候選人得到了“大多數”成員的贊成票,它就會成為主節點。

本文轉自 bannerpei 51CTO部落格,原文連結:http://blog.51cto.com/281816327/1615019,如需轉載請自行聯系原作者