MongoDB Replication
?
?
Purpose of Replication
Replication 為數據提供冗余的同時,也提高了數據高可用性。由于在不同數據庫服務器上擁有多個數據鏡像,Replication可以有效防止單臺機器故障導致的數據丟失。
Replication 還可以提高讀性能。客戶端將讀請求與寫請求發到不同服務器上。還可以在其他數據中心建立復制節點做異地災備,進一步提高可用性。
Replication in MongDB
Replica set 是由相同數據集的mongod實例組成。其中一個節點為主節點(primary),所有的寫請求都是在該節點上完成。其他節點為從節點(secondary),從節點接收主節點上傳來的操作并應用,并以此來保證其與主節點的數據集一致。
主節點接收所有來自客戶端的寫操作。一個Replica set 只能有一個主節點。由于一個Replica set 只有一個節點能接收寫操作,因此主節點讀操作提供了嚴格的一致性校驗。主節點將所有數據集的變動記錄到oplog 以支持Replication的實現。
從節點將主節點上的oplog復制過來并應用這些操作來修改自己的數據集以確保從節點的數據集與主節點保持一致。一旦主節點不可用,Replica set 將一個從節點選舉為主節點。
投票節點將只做投票使用。當主節點降級為從節點時,其他的一個從節點將在選舉中被推薦為主節點。
?
Asynchronous Replication
從節點從主節點應用操作是異步的。從節點返回給客戶端的數據可能不是最新的數據。
Automatic Failover
當主節點無法與Replica set 中的其他成員進行溝通超過10s,Replica set將推選另一位節點為主節點。
轉載于:https://www.cnblogs.com/hotbaby/p/4872657.html
總結
以上是生活随笔為你收集整理的MongoDB Replication的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java-数据结构与算法-二分查找法
- 下一篇: erlang---启动参数学习/研究