目录
MongoDB中的副本集(replica set)是一组mongod进程,提供了冗余和高可用性。本篇将对副本集的成员以及Oplog做简要的介绍。
1 副本集成员
MongoDB副本集的成员有以下三种:
- 主成员(Primary)
- 从成员(Secondaries)
- 仲裁成员(Arbiter)
一个副本集的最小推荐配置是一个包含三个数据成员的三成员副本集:一个主成员和两个辅助成员,或者是一个包含两个数据成员的副本集:一个主成员、一个辅助成员和一个仲裁成员,但副本集中包含至少三个数据成员提供了更好的冗余性。
一个副本集中最多可以有50个成员,但只有7个是投票成员,即仲裁成员。
1.1 主成员(Primary)
主成员是副本集中接收写操作的唯一成员,MongoDB在主成员上应用写操作,然后将这些操作记录到Oplog上,辅助成员复制Oplog,并将其应用在它的数据集中,从而提供了主从数据的一致性。
如图,展示的是一个三成员的副本集,主成员接收所有的写操作,然后辅助成员复制Oplog,并将其应用在它们的数据集中: