MongoDB replication provides redundancy and high availability through replica sets. This guide covers replica set configuration, management, and best practices for production deployments.
MongoDB Replica Set Architecture
Handles all write operations and maintains the oplog
Maintain copies of the primary's data and can serve read operations
Participates in elections but doesn't store data
# Initialize replica set
rs.initiate({
_id: "rs0",
members: [
{ _id: 0, host: "mongodb1:27017" },
{ _id: 1, host: "mongodb2:27017" },
{ _id: 2, host: "mongodb3:27017" }
]
})
# Check replica set status
rs.status()
# Add new member
rs.add("mongodb4:27017")
# Remove member
rs.remove("mongodb4:27017")
Automatic election of new primary when current primary fails
Automatic recovery and resynchronization of failed nodes
Ensures data consistency across replica set members
# Check replica set status
rs.status()
# Check replication lag
db.printSlaveReplicationInfo()
# Check oplog status
db.getReplicationInfo()
# Monitor replication metrics
db.serverStatus().repl
Now that you understand MongoDB replication, you can explore: