首页 > 其他分享 >副本集

副本集

时间:2024-07-07 09:12:35浏览次数:17  
标签:副本 优先级 选举 成员 操作 节点

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

相关文章

  • 副本集要点
    oplog中的每个操作都是幂等的。也就是说,无论对目标数据集应用一次还是多次,oplog操作都会产生相同的结果。Oplog大小 当您第一次启动副本集成员时,如果您未指定oplog大小,MongoDB将创建默认大小的oplog。默认oplog大小取决于存储引擎:  存储引擎默认Oplog......
  • 详解 ClickHouse 的副本机制
    一、简介副本功能只支持MergeTreeFamily的表引擎,参考文档:https://clickhouse.tech/docs/en/engines/table-engines/mergetree-family/replication/ClickHouse副本的目的主要是保障数据的高可用性,即使一台ClickHouse节点宕机,那么也可以从其他服务器获得相同的数据......
  • 高可用mongodb集群(分片+副本)
    参考网址:https://www.cnblogs.com/likingzi/p/16556734.html高可用mongodb集群(分片+副本):规划及部署概述mongodb是最常用的nosql数据库,以下记录如何搭建高可用mongodb集群(分片+副本)mongodb集群有三种模式:主从模式、副本集模式、sharding分片模式副本集和sharding分片模式是......
  • MongoDB副本集部署(windows)
    环境准备本教程演示mongodb4.4副本集部署(一主两从,伪分布式)节点配置主节点localhost:27017主节点1localhost:27018从节点2localhost:27019 每一个节点(实例)都创建对应的数据文件(data)和日志文件(log)。例如:动实例(服务)语法:bin>mongod-port端口号-dbpath数据路径-logpat......
  • MongoDb副本集
    Mongodb副本集复制简介复制是将数据的相同副本保留在多台服务器上的一种方法,建议将其用于所有生产部署中。即使一台或多台服务器停止运行,使用复制功能也可以确保应用程序正常运行和数据安全。在MongoDB中,创建副本集(replicaset)后就可以使用复制功能了。副本集是一组服务器,其......
  • C++实现删除打印机副本功能
     我们要实现此功能,首先需要获取到打印机的名称,其次是将获取到的打印机名称依次删除。一、获取打印机副本名称1.我们获取打印机副本名称,可以使用windowsAPI中的EnumPrinters函数,该函数可以枚举出我们电脑中的打印机设备信息,该函数使用方法如下:DWORDFlags=PRINTER_ENU......
  • Replication Controller副本控制器RC
    rc的作用: kubectlgetrckubectlgetpods如果yaml文件中没有设置template中pod的名字,那么就会以rc名字为前缀然后随机生成名字!! kubectldeletepodpodName删除一个pod以后,会根据rc配置的pod数,在立马生成一个pod: kubectleditpodpodNameps:rc是通过便签来管理他......
  • Springboot单机多副本运行,解决端口冲突
    一、代码方式(修改配置类)@BeanpublicWebServerFactoryCustomizer<ConfigurableWebServerFactory>MyCustomizer(){returnnewWebServerFactoryCustomizer<ConfigurableWebServerFactory>(){@Overridepublicvoidcustomize(ConfigurableWebSer......
  • Adobe InCopy 2024 v19.4 (macOS, Windows) - 编写和副本编辑软件
    AdobeInCopy2024v19.4(macOS,Windows)-编写和副本编辑软件Acrobat、AfterEffects、Animate、Audition、Bridge、CharacterAnimator、Dimension、Dreamweaver、Illustrator、InCopy、InDesign、LightroomClassic、MediaEncoder、Photoshop、PremierePro、AdobeXD......
  • Python连接访问mongodb副本集
    代码如下:frompymongoimportMongoClient#配置副本集的地址replica_set_hosts=["192.168.10.135:27017","192.168.10.136:27018","192.168.10.137:27019"]#创建MongoClient连接client=MongoClient(replica_set_hosts,userna......