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

优先级 0 副本集成员

本页内容

  • 优先级 0 成员作为备用
  • 故障转移考虑因素
  • 示例

Apriority 0 成员是一种 不能 成为 主节点不能 触发 选举 的成员。优先级 0 成员可以确认使用 写关注w : <number> 发布的写操作。对于 "majority" 写关注,优先级 0 成员还必须是投票成员(即 members[n].votes 大于 0),才能确认写操作。非投票副本集成员(即 members[n].votes0)不能参与确认具有 "majority" 写关注的写操作。

除了上述限制之外,具有 priority 0 的次要节点就像普通次要节点一样工作:它们维护数据集的副本,接受读取操作,并在选举中投票。

如果特定成员部署在远离主要部署的数据中心,并且因此具有更高的延迟,则可能希望配置具有 priority 0 的副本集成员。这可能很好地满足本地读取请求,但由于其延迟,可能不是执行主节点职责的理想候选者。

对于这种情况,以下图显示了左边的数据中心,该数据中心托管主节点和次要节点,以及右边的数据中心,该数据中心托管已配置为具有 priority 0 以防止其成为主节点的次要节点。由于此设置,只有左数据中心中的成员才有资格在选举中成为主节点。

Diagram of a 3 member replica set distributed across two data centers. Replica set includes a priority 0 member.

与此相比,副本集成员的默认优先级为 priority 1,在这种情况下,该场景中的任何一个次要节点都有资格充当主节点。有关更多信息,请参阅 跨越两个或更多数据中心的副本集

优先级为 0 的次要副本可以作为备用。在某些副本集中,可能无法在合理的时间内添加新成员。备用成员保持当前数据的副本,以便能够替换不可用的成员。

在许多情况下,您无需将备用设置为 优先级 0。然而,在具有不同硬件或 地理位置分布 的副本集中,优先级 0 的备用确保只有某些成员成为主副本。

优先级 0 的备用对于具有不同硬件或工作负载配置的集合中的某些成员也可能很有价值。在这些情况下,部署一个 优先级 0 的成员,以确保它不能成为主副本。还可以考虑使用 隐藏成员 达到这个目的。

如果您的集合已经有七个投票成员,请也将该成员配置为 非投票。

当配置次要副本以具有 优先级 0 时,考虑潜在的故障转移模式,包括所有可能的网络分区。始终确保您的数据中心包含投票成员的法定多数以及有资格成为主副本的成员。

要配置次要副本以具有 优先级 0,请参阅 防止自管理次要副本成为主副本。

返回

次要节点