MongoDB複製集之:概念及特點
複製集的概念
複製集(也叫複本集 Replica Set)就是有自動故障恢複功能的主從叢集。
傳統的主從結構和複製集最為明顯的區別是複製集沒有固定的“主節點”:整個節點會選舉出一個“主節點”,當其不能工作時則變更到其它節點。複製集總會有一個活躍節點(primary)和一個或多個備份的節點(secondary)
對於MongoDB在資料容災上,推薦的模式是使用複本集模式,但傳統主從結構與複製集相較也有的一些“用武之處”:
“複製集中參與選舉的資料節點只能有7個”(MongoDB 2.6版本)
雖然可以修改複製節點屬性的方法,能將複製集節點增加到12個,但剩餘5個節點都不能提供服務,只能做為資料冗餘。所以某個生產環境需要從節點的數量超過11個時,我們就可使用傳統的主從結構,因為主從結構的從節點數量不受限制。
當複製集支援可提供服務的資料節點數超過11個時,那麼官方建議立即“啟用”主從結構。但在MongoDB3.0版本以上支援的副本數已經超過50個。
複製集的特點
複製集的特點主要有以下四點:
- 主是唯一的,但不是固定的。
- 由大多資料原則保證資料的一致性
- 從庫無法寫入(預設情況下,不使用驅動串連時,也是不能查詢的)
- 相對於傳統的主從結構,複製集可以自動容災。
複製整合員分類
任何時間活躍節點(也即主節點)只有一個,其它都為備份節點,指定的活躍節點可隨時間而變化。有幾種不同類型的節點存在於複本集中:
這種是常規節點,它儲存一份完整的資料副本,參與投票選舉,有可能成為活躍節點
儲存完整的資料副本,參與投票,不能成為活躍節點。
仲裁節點只參與投票,不接收複製的資料,也不能成為活躍節點。
每個參與節點(非仲裁者)有個優先權,優先權(priority)為0則是被動的,不能成為活躍節點,優先權不為0的,按照由大到小選出活躍節點,優先值一樣的則看誰的資料比較新。
按是否存放資料區分:
按功能區分:
更多MongoDB相關教程見以下內容:
CentOS 編譯安裝 MongoDB與mongoDB的php擴充
CentOS 6 使用 yum 安裝MongoDB及伺服器端配置
Ubuntu 13.04下安裝MongoDB2.4.3
MongoDB入門必讀(概念與實戰並重)
Ubunu 14.04下MongoDB的安裝指南
《MongoDB 權威指南》(MongoDB: The Definitive Guide)英文文字版[PDF]
Nagios監控MongoDB分區叢集服務實戰
基於CentOS 6.5作業系統搭建MongoDB服務
MongoDB 的詳細介紹:請點這裡
MongoDB 的:請點這裡
本文永久更新連結地址: