Docs 菜单

副本集从节点

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

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

Diagram of a 3 member replica set that consists of a primary and two secondaries.

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

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

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

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
点击放大

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

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

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

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

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

[1] 现在,副本集的从节点会记录应用时间超过慢操作阈值的 oplog 条目。这些慢 oplog 消息:
  • diagnostic log中针对从节点记录。
  • 记录在 REPL 组件下,该组件将含有文本 applied op: <oplog entry> took <num>ms
  • 不依赖日志级别(系统级别或组件级别)
  • 不依赖于分析级别。
  • slowOpSampleRate 影响。
  • 中针对从节点记录。
  • 影响。
分析器不会捕获慢 oplog 条目。