MongoDB 中的副本集是一组mongod
提供冗余和高可用性的进程。副本集的成员包括:
主服务器接收所有写操作。
主节点是副本集中唯一接收写入操作的成员。MongoDB 在主节点上应用写入操作,然后将操作记录在主节点的oplog上。辅助成员复制此日志并将操作应用于其数据集。
副本集的所有成员都可以接受读取操作。但是,默认情况下,应用程序会将其读取操作定向到主成员。有关更改默认读取行为的详细信息,请参阅Read Preference 。
辅助节点可以成为主节点。如果当前主节点不可用,副本集将举行选举,以选择哪个辅助节点成为新的主节点。
仲裁者
在某些情况下(例如,当您有一个主节点和一个辅助节点,但成本限制不允许添加另一个辅助节点时),您可以选择向副本集添加仲裁器。仲裁器参与 主节点的选举,但仲裁器没有 数据集的副本,因此无法成为主节点。
仲裁者有且仅有1
选举票。默认情况下,仲裁者具有 优先级0
。
副本集最多可以有一个主节点。 [ 1 ]如果当前主节点不可用,则通过选举确定新的主节点。
在以下 3 个成员副本集中,主副本不可用。这将触发选举,从剩余的辅助副本中选出一个作为新的主副本。
优先级 0 副本集成员
priority 0
成员是无法成为主成员且无法触发 选举 的成员。
在许多情况下,您不需要将备用服务器设置为优先级 0。但是,在具有不同硬件或地理分布的副本集中,优先级 0备用服务器可确保只有某些成员成为主服务器。
Hidden Replica Set Members
隐藏成员维护主节点数据集的副本 ,但对客户端应用程序不可见。隐藏成员适用于与副本集中其他成员使用模式不同的工作负载。隐藏成员必须始终是 优先级 0 成员,因此不能成为主节点。该db.hello()
方法不显示隐藏成员。但是,隐藏成员可以在 选举中投票。
标签:副本,优先级,选举,成员,操作,节点 From: https://www.cnblogs.com/wonchaofan/p/18288157