副本集主节点

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

在下面的三成员副本集中,主节点接受所有写操作。然后从节点复制 oplog 以应用于它们的数据集。

读取和写入到主节点的默认路由图。

副本集的所有成员都可以接受读操作。但是,默认情况下,应用程序将其读取操作定向到主节点。有关更改默认读取行为的详细信息,请参阅读取首选项

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

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

新初选选举图。 在具有两个辅助副本的三成员副本集中,主副本变得不可访问。 主节点丢失会触发选举,其中一个从节点成为新的主节点

[ 1 ] 某些情况下,副本集中的两个节点可能会暂时认为它们是主节点,但最多,其中一个节点将能够完成具有{ w: "majority" }写入关注的写入。可以完成 { w: "majority" }写入的节点是当前主节点,另一个节点是尚未识别其降级的前主节点,通常是由于网络分区。发生这种情况时,连接到前一个主节点的客户端可能会观察到过时的数据,尽管已经请求了读取偏好 primary,并且对前一个主节点的新写入最终将回滚。

副本集成员副本集次要成员

原文链接 - https://docs.mongodb.com/manual/core/replica-set-primary/

译者:陆文龙

Copyright © 上海锦木信息技术有限公司 all right reserved,powered by Gitbook文件修订时间: 2023-09-01 17:10:26

results matching ""

    No results matching ""