参考文档
https://docs.mongodb.com/v4.0/tutorial/resync-replica-set-member/
https://docs.mongodb.com/v4.0/core/replica-set-sync/?spm=a2c4e.10696291.0.0.603b19a4lvsetK#slow-oplogs
https://docs.mongodb.com/v4.0/core/replica-set-architectures/
https://mongoing.com/archives/2369?spm=a2c4e.10696291.0.0.312919a4CLAAih
https://mongoing.com/archives/3076
1 概述
mongodb复制集里的Secondary会从Primary上同步数据,以保持副本集所有节点的数据保持一致,先通过init sync同步全量数据,再通过replication不断重放Primary上的oplog同步增量数据。
副本集一般需要三个节点构成,主、从、仲裁。仲裁节点的出现,是为了当节点数量为偶数时,或者处于成本考虑,只参与选举,不持有数据。(一般一主一丛的情况下,需要配置一个仲裁,保证主从切换)
2 复制过程
Initial Sync
从0 到 1 从主节点复制数据到新副本,截止的时间点为首次完整复制时开始的时间点。 比如说8点10分开始进行的新副本初始化同步,则同步数据截止时间点为8点10
初始化过程中,到底有几次时间段的同步,这个没有看源码深入研究