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,如需轉載請自行聯系原作者