Docs 菜单

Docs 主页开发应用程序MongoDB Manual

副本集从节点

从节点维护主节点的数据集副本。为了复制数据,从节点在异步过程中将来自主节点 oplog 的操作应用到自己的数据集。[1] 一个副本集可以有一个或多个从节点。

以下三节点副本集有两个从节点。从节点复制主节点的 oplog 并将操作应用于其数据集。

由一个主节点和两个从节点组成的 3 节点副本集的示意图。

尽管客户端无法将数据写入从节点,但客户端可以自从节点读取数据。有关客户端如何将读取操作定向到副本集内节点的更多信息,请参阅读取偏好(Read Preference)

一个从节点可以变成主节点。如果当前主节点变得不可用,副本集将进行选举以选择哪个从节点成为新的主节点。

在以下三成员副本集中,主节点将变为不可用。这将触发选举,某一剩余从节点会成为新的主节点。

新主节点选举示意图。在具有两个从节点的三节点副本集中,主节点会变得无法访问。主节点丢失会触发选举,其中一个从节点会成为新的主节点
点击放大

有关更多详细信息,请参阅副本集选举

您可以出于特定目的配置从节点。您可以配置一个从节点用于:

  • 防止它在选举中成为主节点,从而允许它驻留在辅助数据中心或充当冷备份。请参阅 Priority 0 副本集节点。

  • 防止应用程序从中读取数据,这样它就可以运行需要与正常流量分离的应用程序。请参阅隐藏的副本集节点。

  • 保留正在运行的“历史”快照,以用于从某些错误(例如意外删除的数据库)中恢复。请参阅延迟的副本集节点。

[1] 从版本 4.2 开始,副本集的从节点现在会记录应用时间超过慢操作阈值时长的 oplog 条目。这些慢 oplog 消息:分析器不会捕获慢 oplog 条目。
← 副本集主节点