MongoDB復制數據庫的方法有兩種:主從復制和副本集。
主從復制(Master-Slave Replication):主從復制是MongoDB最早支持的復制模式,其中一個節點被指定為主節點(Master),負責處理寫操作和查詢操作,而其他節點被指定為從節點(Slave),只負責復制主節點上的數據。主節點將寫操作的操作日志(Oplog)廣播給所有從節點,從節點根據Oplog的內容進行數據復制。主從復制適用于只有一個主節點負責寫操作,而讀操作可以由多個從節點處理的場景。
副本集(Replica Set):副本集是MongoDB推薦的復制方式,它提供了更高的可用性和自動故障轉移功能。一個副本集由多個節點組成,其中一個節點被指定為主節點(Primary),負責處理寫操作和查詢操作,而其他節點被指定為從節點(Secondary),只負責復制主節點上的數據。副本集中還可以配置仲裁節點(Arbiter),用于在主節點故障時選舉新的主節點。副本集中的節點通過心跳機制進行通信,以檢測主節點是否可用。如果主節點不可用,副本集會自動選舉新的主節點,并將所有從節點切換到新的主節點。副本集適用于需要高可用性和數據一致性的場景。
在MongoDB中,可以使用rs.initiate()
來初始化一個副本集,然后使用rs.add()
來添加其他節點,最后使用rs.status()
來查看副本集的狀態。