1. 程式人生 > >MongoDB的副本集

MongoDB的副本集

MongoDB的副本集

一、副本集相關概念

1.副本集

有自動故障恢復功能的主從叢集,至少需要兩個節點: 一主一從、一主多從

2.副本集特徵

  • N 個節點的叢集
  • 任何節點可作為主節點
  • 所有寫入操作都在主節點上
  • 自動故障轉移
  • 自動恢復

3.副本集節點型別

引數 說明
Primary 主節點
可讀寫,唯一可以進行寫操作的節點,由叢集自行選舉出來
Secondary 正常情況下,Seconary會參與Primary選舉(自身也可能會被選為Primary),並從Primary同步最新寫入的資料,以保證與Primary儲存相同的資料。Secondary可以提供讀服務,增加Secondary節點可以提供副本集的讀服務能力,提升副本集的可用性。
Arbiter 只參與投票,不能被選為Primary,並且不從Primary同步資料。非常輕量級的服務,當複製整合員為偶數時,最好加入一個Arbiter節點,以提升複製集可用性。
Priority0 Priority0節點的選舉優先順序為0,不會被選舉為Primary,且不能發起選舉。
Vote0 副本整合員最多50個,參與Primary選舉投票的成員最多7個,其他成員(Vote0)的vote屬性必須設定為0,即不參與投票。
Hidden Hidden節點不能被選為主(Priority為0),並且對Driver不可見。因Hidden節點不會接受Driver的請求,可使用Hidden節點做一些資料備份、離線計算的任務,不會影響複製集的服務。
Delayed Delayed節點必須是Hidden節點,並且其資料落後與Primary一段時間(可配置,比如1個小時)。因Delayed節點的資料比Primary落後一段時間,當錯誤或者無效的資料寫入Primary時,可通過Delayed節點來做資料恢復。

4.複製

將資料同步在多個伺服器的過程(在多個伺服器上儲存資料副本)

5.複製優點

  • 提供了資料的冗餘備份,
  • 提高了資料的可用性,
  • 保證資料的安全性,
  • 允許從硬體故障和服務中斷中恢復資料,
  • 無需停機維護(如備份,重建索引,壓縮)
  • 分散式讀取資料

二、副本集配置