Introducing Replicasets
The way to achieve fault tolerance in MongoDB is through the use of replica sets
.
stateDiagram-v2
[*] --> Application
direction LR
state Application
Application --> replicaset
state replicaset
{
direction RL
Primary:primary
Secondary1:secondary
Secondary2:secondary
Secondary1-->Primary : Fetch Oplog
Secondary2-->Primary : Fetch Oplog
}
Two or more secondary
nodes along with a primary
node forms a replica set. Application makes all the read/write calls to the primary node which propagate all the write requests synchronously or asynchronously to the secondary nodes.
The Secondary nodes fetches the data via Oplog pull from Primary or other nodes.