复制-复制集成员


  • 註冊用戶

    复制集成员

    Mongodb复制集由一组Mongod实例(进程)组成,并提供了数据冗余与高可用性。MongoDB复制集的成员包括:主节点、从节点和仲裁节点三大类。 一个复制集至少需要这几个成员:一个主节点 ,一个从节点 ,和一个仲裁节点 。但是在大多数情况下,我们会保持3个拥有数据集的节点:一个主节点 和两个从节点 。

    • 主节点(Primary) 主节点负责所有写请求 ,主节点是复制集里唯一一个可以接受写操作请求的,主节点会将其所有的写操作记录到oplog日志上,从节点就可以复制oplog日志,将这些操作应用到自己的节点上。 以下三个成员副本集中,主节点接受所有写入操作。 然后,从节点复制oplog日志以应用于自己的节点上。

      默认的情况下,客户端会将其所有读请求发给主节点,但是也可以通过配置让从节点具有读取数据能力。 一个复制集最多只能有一个主节点,当其不可用(或者是资格不够的时候)的时候,通过选举算法从从节点中选择一个来作为新的主节点。

    • 从节点(Secondaries) 从节点通过复制主节点数据(通过读取操作日志文件)来保持数据的一致性。复制集可以具有一个或多个从节点。 以下三个成员副本集具有两个从节点。 从节点复制主要操作日志,并将操作应用于自己的节点上。

      另外,通过一些配置(比如说不让其拥有投票权、将其优先级设置为零)从节点还可以使其拥有某些特殊的作用。主要有以下的几种常见配置:

        1.  优先级设置为0(Priority 0):将一个从节点的优先级设置为零,失去了被选举权,该节点就不可以成为主节点。
        2.  Hidden成员:Hidden成员对客户端来说是不可见的,因此不对外提供读请求,该类从节点只是拥有一份备份数据。
        3.  历史快照延迟(Delayed)成员:该类从节点不会与主节点数据保持时间上的一致,它保存了现在之前的数据,相当于一个历史快照。
      
    • 仲裁节点(Arbiter) 仲裁节点可以成为复制集的成员,它不会存储数据,它的主要作用是用来投票。例如当复制集有偶数个投票成员时,可以添加一个仲裁节点。

        注意:仅向具有偶数个投票成员的复制集添加仲裁节点。 如果向具有奇数个投票成员的复制集添加仲裁节点,则该集合可能受到绑定选举的影响。

    登录后回复
     

    与 萌阔论坛 的连接断开,我们正在尝试重连,请耐心等待