mongodb集群——副本集(csr)

一、概述

(1) MongoDB复制是将数据同步在多个服务器的过程。

(2)复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性,并可以保证数据的安全性。

(3)复制还允许您从硬件故障和服务中断中恢复数据。

MongoDB地图集上托管的所有数据库都配置为副本集.Atlas可以轻松添加和删除首选云提供商的任何区域中的副本集成员;副本集提供冗余和高可用性,是所有生产部署的基础。

1、冗余和数据可用性

复制提供冗余并提高数据可用性。通过在不同数据库服务器上提供多个数据副本,复制可提供一定程度的容错能力,以防止丢失单个数据库服务器。

在某些情况下,复制可以提供增加的读取容量,因为客户端可以将读取操作发送到不同的服在不同数据中心维护数据副本可以增加分布式应用程序的数据位置和可用性。您还可以为专用目的维护其他副本,例如灾难恢复,报告或备份。

2, MongoDB复制原理

(1) MongoDB的复制至少需要两个节点。其中一个是主节点,负责处理客户端请求,其余的都是从节点,负责复制主节点上的数据。

(2) MongoDB各个节点常见的搭配方式为:一主一从,一主多从。

(3)主节点记录在其上的所有操作oplog,从节点定期轮询主节点获取这些操作,然后对自己的数据副本执行这些操作,从而保证从节点的数据与主节点一致。

MongoDB复制结构图如下所示:

 MongoDB集群——副本集(csr)  mongodb集群——副本集(csr)”> </p> <p>以上结构图中,客户端从主节点读取数据,在客户端写入数据到主节点时,主节点与从节点进行数据交互保障数据的一致性。</p> <p> </p> <p> (1) N个节点的集群</p> <p>(2)任何节点可作为主节点</p> <p>(3)所有写入操作都在主节点上</p> <p>(4)自动故障转移</p> <p>(5)自动恢复</p> <p> 3副本集成员</p> <p>(1)主:主服务器是副本集中唯一接收写入操作的成员.MongoDB在主服务器上应用写操作,然后在主服务器的oplog上记录操作。辅助成员复制此日志并将操作应用于其数据集。</p> <p>(2)二级:辅助节点从主节点复制操作以维护相同的数据集。辅助节点可能具有特殊使用配置文件的其他配置,例如:辅助可以是非投票或。</p> <p> 1)优先级0副本集成员</p> <p>不能成为主要的和不能触发选举。除此之外,具有正常辅助功能的辅助设备:它们维护数据集的副本,接受读取操作,并在选举中投票。</p> <p> 2)隐藏副本集成员</p> <p>隐藏成员维护主数据集的副本,但对客户端应用程序不可见。隐藏成员适用于具有与副本集中其他成员不同的使用模式的工作负载。隐藏成员必须始终优先为0成员,因此不能成为主要成员。该db.isMaster()方法不显示隐藏的成员。然而,隐藏的成员可能会在选举中投票。</p> <p>备注:在分片群集中,蒙戈不要与隐藏成员交互。</p> <p> 3)延迟副本集成员</p> <p>延迟成员包含副本集数据集的副本。但是,延迟成员的数据集反映了该集合的早期或延迟状态。</p> <p>注意事项:</p> <p> </p> <p>必须是优先级为0的成员。将优先级设置为0以防止延迟成员成为主要成员。</p> <p>应该是隐藏的成员。始终阻止应用程序查看和查询延迟的成员。</p> <p>做到在投票选举为主要,若成员[N]。票设置为1 . </p> <p> </p> <p>延迟成员在延迟时从源oplog复制和应用操作。在选择延迟量时,请考虑延迟量:</p> <p>必须等于或大于预期的维护窗口持续时间。</p> <p>必须小于oplog的容量。</p> <p>(3)仲裁器不具有数据集的副本,并不能成为主要的。副本集可能有仲裁者在主要选举中添加投票。仲裁者总是拥有恰当的1选举投票,因此允许副本集具有不均匀的投票成员数,而不会产生复制数据的额外成员的开销。</p> <p>补充:</p> <p>副本集的最小建议配置是三个成员副本集,其中包含三个数据承载成员:一个主成员和两个辅助成员。您也可以部署具有两个数据承载成员的三成员副本集:主要成员,辅助成员和仲裁者,但具有至少三个数据承载成员的副本集提供更好的冗余。</p> <p>副本集最多可包含50个成员,但只有7个投票成员。</p> <p>二,mongodb集群(副本集模式)</p> <p> 1,数据库环境</p> <colgroup>指定表格中<坳/> <坳/> <坳/> <坳/> <坳/> <坳/> </colgroup>指定表格中<p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> <h2 class=mongodb集群——副本集(csr)