Mongodb副本集介紹

Mongodb Relication 介紹

副本集是一種在多臺機器同步數據的進程。
副本集的目的
副本集體提供了數據冗餘,擴展了數據可用性。在多臺服務器保存數據能夠避免由於一臺服務器致使的數據丟失。
也能夠從硬件故障或服務中斷解脫出來,利用額外的數據副本,能夠從一臺機器致力於災難恢復或者備份。

在一些場景,可使用副本集來擴展讀性能。客戶端有能力發送讀寫操做給不一樣的服務器。
也能夠在不一樣的數據中心獲取不一樣的副原本擴展分佈式應用的能力。

mongodb副本集是一組擁有相同數據的mongodb實例,主mongodb接受全部的寫操做,全部的其餘實例能夠接受主實例的操做以保持數據同步。
主實例接受客戶可的寫操做,副本集只能有一個主實例,由於爲了維持數據一致性,只有一個實例可寫,主實例的日誌保存在oplog。
Client Application Driver
    Writes    Reads
       |      |
        Primary
    |Replication|Replication
Secondary        Secondary
二級節點複製主節點的oplog而後在本身的數據副本上執行操做,二級節點是主節點數據的反射,若是主節點不可用,會選舉一個新的主節點。默認讀操做是在主節點進行的,可是能夠指定讀取首選項參數來指定讀操做到副本節點。
能夠添加一個額外的仲裁節點(不擁有被選舉權),使副本集節點保持奇數,確保能夠選舉出票數不一樣的直接點。仲裁者並不須要專用的硬件設備。
仲裁者節點一直會保存仲裁者身份。

異步複製
副本節點同步直接點操做是異步的,然而會致使副本集沒法返回最新的數據給客戶端程序。

自動故障轉移
若是主節點10s以上與其餘節點失去通訊,其餘節點將會選舉新的節點做爲主節點。
擁有大多數選票的副節點會被選舉爲主節點。

副本集提供了一些選項給應用程序,能夠作一個成員位於不一樣數據中心的副本集。
也能夠指定成員不一樣的優先級來控制選舉。
相關文章
相關標籤/搜索