首页 > 解决方案 > 如何使用工作副本机器同步 MongoDB 故障转移?

问题描述

MongoDB 复制,它有 3 个服务器(Server1、Server2、Server3)。由于任何原因,Server1关闭,Server2充当主要模式,Server3充当辅助模式。

查询:由于Server1已关闭,并且在 2-3 小时后我们将其启动(运行)。Server1数据和Server2数据之间的 3 小时差距,它将如何同步?

标签: mongodbreplicaset

解决方案


主节点维护一个oplog,详细说明已对数据执行的所有写入操作。oplog 受大小限制,最旧的条目会被自动删除,以使其低于配置的大小。

当辅助节点从主节点复制时,它会读取 oplog 并创建本地副本。如果辅助节点离线一段时间,当它重新上线时,它将向主节点询问自上次成功复制以来的所有 oplog 条目。

如果主节点仍然具有辅助节点最近看到的条目,则辅助节点将开始应用它错过的事件。

如果主节点不再具有该条目,则辅助节点将记录一条消息,指出它太陈旧而无法赶上,并且需要手动干预。这通常需要手动重新同步


推荐阅读