Mongodb副本集介绍

Mongodb Relication 介绍

副本集是一种在多台机器同步数据的进程。
副本集的目的
副本集体提供了数据冗余,扩展了数据可用性。在多台服务器保存数据能够避免由于一台服务器致使的数据丢失。
也能够从硬件故障或服务中断解脱出来,利用额外的数据副本,能够从一台机器致力于灾难恢复或者备份。

在一些场景,可使用副本集来扩展读性能。客户端有能力发送读写操做给不一样的服务器。
也能够在不一样的数据中心获取不一样的副原本扩展分布式应用的能力。

mongodb副本集是一组拥有相同数据的mongodb实例,主mongodb接受全部的写操做,全部的其余实例能够接受主实例的操做以保持数据同步。
主实例接受客户可的写操做,副本集只能有一个主实例,由于为了维持数据一致性,只有一个实例可写,主实例的日志保存在oplog。
Client Application Driver
    Writes    Reads
       |      |
        Primary
    |Replication|Replication
Secondary        Secondary
二级节点复制主节点的oplog而后在本身的数据副本上执行操做,二级节点是主节点数据的反射,若是主节点不可用,会选举一个新的主节点。默认读操做是在主节点进行的,可是能够指定读取首选项参数来指定读操做到副本节点。
能够添加一个额外的仲裁节点(不拥有被选举权),使副本集节点保持奇数,确保能够选举出票数不一样的直接点。仲裁者并不须要专用的硬件设备。
仲裁者节点一直会保存仲裁者身份。

异步复制
副本节点同步直接点操做是异步的,然而会致使副本集没法返回最新的数据给客户端程序。

自动故障转移
若是主节点10s以上与其余节点失去通讯,其余节点将会选举新的节点做为主节点。
拥有大多数选票的副节点会被选举为主节点。

副本集提供了一些选项给应用程序,能够作一个成员位于不一样数据中心的副本集。
也能够指定成员不一样的优先级来控制选举。
相关文章
相关标签/搜索