MST

星途 面试题库

面试题:MongoDB副本集成员间通信协议的基础组件有哪些

请简要阐述MongoDB副本集成员间通信协议涉及的基础组件,并说明它们各自的主要功能。
45.0万 热度难度
数据库MongoDB

知识考点

AI 面试

面试题答案

一键面试

基础组件及主要功能

  1. 心跳(Heartbeat)
    • 功能:副本集成员通过心跳机制彼此定期发送消息,以此检测其他成员的存活状态和健康状况。心跳频率通常为2秒一次,若成员在10秒内未收到其他成员的心跳,就会判定该成员不可用。这确保了副本集能实时知晓各成员的状态,及时进行故障转移等操作。
  2. 选举协议(Election Protocol)
    • 功能:当主节点(Primary)出现故障时,副本集需要通过选举协议从剩余的从节点(Secondary)中选出新的主节点。选举过程基于多数原则,拥有大多数投票权的节点会被选为新主节点。它保证了副本集在主节点故障后能快速恢复主从结构,维持服务可用性。
  3. Oplog(操作日志)
    • 功能:主节点会将所有写操作记录在Oplog中,从节点通过复制Oplog中的记录来保持与主节点数据的一致性。Oplog采用时间戳顺序记录操作,从节点按顺序应用这些操作,从而使副本集内各成员数据保持同步。
  4. 同步机制(Synchronization Mechanism)
    • 功能:新加入副本集的节点或因网络问题长时间失联后重新连接的节点,需要与现有主节点或同步源进行数据同步。同步过程可能包括全量同步(Initial Sync),即新节点从同步源获取完整的数据副本;以及增量同步,通过复制Oplog来更新后续的变化,确保节点间数据的一致性。