文档菜单
文档首页
/
MongoDB 手册
/ /

副本集主节点

主节点是副本集中唯一接收写操作的成员。MongoDB 首先在主节点上应用写操作,然后记录主节点的 主节点oplog辅助节点 成员复制此日志并将其应用于其数据集。点击放大

在以下三个成员的副本集中,主节点接收所有写操作。然后辅助节点复制 oplog 以应用于其数据集。

Diagram of default routing of reads and writes to the primary.
点击放大

副本集的所有成员都可以接收读操作。然而,默认情况下,应用程序将它的读操作指向主节点。有关更改默认读行为的信息,请参阅 读首选项

副本集最多只能有一个主节点。 [1] 如果当前主节点不可用,则选举确定新的主节点。有关更多详细信息,请参阅 副本集选举

在以下三个成员的副本集中,主节点变得不可用。这触发了选举,选择其中一个剩余的辅助节点作为新的主节点。

Diagram of an election of a new primary. In a three member replica set with two secondaries, the primary becomes unreachable. The loss of a primary triggers an election where one of the secondaries becomes the new primary
点击放大
[1] 在某些情况下,副本集中的两个节点可能会 暂时 认为自己是主节点,但最多只能有一个节点能够使用 { w: "majority" } 写关注完成写操作。能够完成 { w: "majority" } 写操作的节点是当前主节点,而另一个节点是尚未承认其降级的先前主节点,通常是由于 网络分区。在这种情况下,连接到先前主节点的客户端可能会观察到陈旧数据,尽管它们请求了 primary 读首选项,并且最终主节点的新写操作将回滚。

返回

副本集成员