面试题答案
一键面试基本原理
MongoDB 副本集通过 oplog(操作日志)来实现数据复制。主节点(Primary)处理所有写操作,并将这些写操作记录到 oplog 中。从节点(Secondary)定期轮询主节点的 oplog,获取新的操作记录,然后在本地重放这些操作,从而保持与主节点的数据同步。
主要组件及其作用
- 主节点(Primary):
- 处理客户端的所有写操作。
- 将写操作记录到 oplog 中,为从节点提供数据同步的基础。
- 从节点(Secondary):
- 定期从主节点拉取 oplog 中的操作记录。
- 在本地重放 oplog 中的操作,以保持与主节点的数据一致。从节点也可以处理读请求,分担主节点的读负载。
- 仲裁节点(Arbiter):
- 不存储数据,仅参与副本集的选举过程。
- 当主节点出现故障时,仲裁节点参与投票,决定哪个从节点晋升为新的主节点,以确保副本集的高可用性。