MongoDB複製集之:概念及特點

來源:互聯網
上載者:User

MongoDB複製集之:概念及特點
複製集的概念

複製集(也叫複本集 Replica Set)就是有自動故障恢複功能的主從叢集。

傳統的主從結構和複製集最為明顯的區別是複製集沒有固定的“主節點”:整個節點會選舉出一個“主節點”,當其不能工作時則變更到其它節點。複製集總會有一個活躍節點(primary)和一個或多個備份的節點(secondary)

對於MongoDB在資料容災上,推薦的模式是使用複本集模式,但傳統主從結構與複製集相較也有的一些“用武之處”:

“複製集中參與選舉的資料節點只能有7個”(MongoDB 2.6版本)

雖然可以修改複製節點屬性的方法,能將複製集節點增加到12個,但剩餘5個節點都不能提供服務,只能做為資料冗餘。所以某個生產環境需要從節點的數量超過11個時,我們就可使用傳統的主從結構,因為主從結構的從節點數量不受限制。

當複製集支援可提供服務的資料節點數超過11個時,那麼官方建議立即“啟用”主從結構。但在MongoDB3.0版本以上支援的副本數已經超過50個。

複製集的特點

複製集的特點主要有以下四點:

  • 主是唯一的,但不是固定的。
  • 由大多資料原則保證資料的一致性
  • 從庫無法寫入(預設情況下,不使用驅動串連時,也是不能查詢的)
  • 相對於傳統的主從結構,複製集可以自動容災。
複製整合員分類

任何時間活躍節點(也即主節點)只有一個,其它都為備份節點,指定的活躍節點可隨時間而變化。有幾種不同類型的節點存在於複本集中:

  • Standard(標準)

這種是常規節點,它儲存一份完整的資料副本,參與投票選舉,有可能成為活躍節點

  • Passive(被動)

儲存完整的資料副本,參與投票,不能成為活躍節點。

  • Arbiter(投票)

仲裁節點只參與投票,不接收複製的資料,也不能成為活躍節點。

每個參與節點(非仲裁者)有個優先權,優先權(priority)為0則是被動的,不能成為活躍節點,優先權不為0的,按照由大到小選出活躍節點,優先值一樣的則看誰的資料比較新。

按是否存放資料區分:

  • 資料節點:存放資料(實體物理檔案*.ns *.0等)的節點,包括主節點和從節點

  • 投票節點:不存入資料,僅做選舉和複製集節點

按功能區分:

  • 主節點:提供讀寫服務的活躍節點

  • 從節點:提供讀服務的節點

      • 延時節點:延時複製節點(priority=0hidden=true slaveDelay=xx)

      • 隱藏節點:對應用程式不可見(priority=0 hidden=true)

      • “投票”節點:具有投票權的節點,不是arbiter(priority=0)的節點

  • 投票節點:Arbiter節點,無資料,僅做選舉和充當複製集節點,也稱為選舉節點。

更多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 的:請點這裡

本文永久更新連結地址:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.