官方文档:https://docs.mongodb.com/manual/replication/
一、复制集成员
MongoDB复制集的成员主要有三类:
primary:负责接受并处理所有的写入操作,一个复制集中仅能有一个primary member。
secondary:负责从primary同步数据,并根据配置可以支持读取操作,并在primary挂掉的时候可以通过选举的方式称为primary。
arbiter:不保存数据,仅仅为了选举时能够出现多数派而添加的节点,优点是占用资源很少。
二、复制集oplog
oplog是一个特殊的容量固定的collection,用来以滚动的方式存储修改数据的操作。
复制集中的每一个成员都和其他任意成员通过heartbeat保持连接,所以每个成员都可以从任意一个成员获取oplog,oplog记录的操作是幂等的,所以执行一次、多次结果是一样的。
oplog的默认大小: