美文网首页
翻译:MongoDB副本集成员。

翻译:MongoDB副本集成员。

作者: ChanZeeBm | 来源:发表于2018-01-27 01:19 被阅读0次

原文

MongoDB副本集成员

复本集是MongoDB提供的一组冗余和高可用性的进程。

主服务器

主服务器接收所有写操作。

备份服务器

备份服务器的操作来自于主服务器,维护一个相同的数据集。
备份服务器可以被指定为特殊的用途,例如备份服务器可以指定为 non-voting或者priority 0.

在副本集成员中你还可以额外指定一个 arbiter,这个副本集不会保存数据。
然而, arbiter充当的角色是当主服务器挂掉后参与从备份服务器中选择一个新的主服务器。

在一个副本集中推荐最少指定三个成员:一个主服务器两个备份服务器.你也可以指定其中两个为数据载体,一个 arbiter,一个主服务器,一个备份服务器。
为了更好的冗余性能,最好指定三个成员。

在3.0.0后,一个副本集中最多有50个成员但是只有7个有投票权,在之前的版本中,一个副本集最多只有12个成员。

主服务器

主服务器是唯一一个可以接受读操作的成员,MongoDB接受在主服务器上写入然后把操作记录在 oplog。备份服务器利用这份记录里面的信息来自我更新。

在一个拥有三个成员的副本集中,主服务器接收所有的写操作,然后备份服务器复制这些操作在自己身上。

副本集上的所有成员都可以接受读操作,然而,默认情况下,应用程序默认将读操作都指向主服务器。查看 Read Preference获取改变默认行为的详细信息。

副本集中最多只能有一个主服务器。如果当前的主服务器不可用,选举机制会指定一个新的主服务器。详细信息看 Replica Set Elections

备份服务器

备份服务器主要的职责是保存主服务器的副本。要复制一份数据,备份服务器会在主服务器的oplog中找到相关的操作更新自己并且该过程运行在异步线程中。一个副本集中可以拥有一个或多个备份服务器。

虽然客户端方面不能直接将数据写入到备份服务器,但是可以从备份服务器中读取数据。查看Read Preference来获取客户端直接从备份服务器读取的详细信息。

如果当前主服务器宕机了的话,一个备份服务器可以升级为一个主服务器,副本集持有将哪个备份服务器升级为主服务器的选举算法。

查看 Replica Set Elections获取相关详细信息。

你可以将一个备份服务器指定为一个特殊的用法,备份服务器可以指定为以下用法:

  • 避免升级为主服务器,该备份服务器可以作为永远备用。
  • 避免应用程序读取它,也就是说运行在正常的分流模式下。
  • 持有"历史"快照以便在某些错误下恢复,例如无意中删除了数据库。

Arbiter

一个Arbiter不会持有数据备份,且不可能成为主数据库。数据集中Arbiter持有可以为哪个备份服务器成为主服务器而投票的权利。
Arbiter肯定会有投票权,并因此允许副本集具有不均匀数量的投票成员,而没有复制数据的额外成员的开销。

在3.6版本开始,Arbiter持有priority 0,当你将MongoDB升级为3.6并且该数据库的副本集中持有Arbiter priority 1,3.6版本会将它配置为priority 0.

重要

不要在一个持有主服务器或者备份服务器的系统上额外持有Arbiter。

相关文章

  • 翻译:MongoDB副本集成员。

    原文 MongoDB副本集成员 复本集是MongoDB提供的一组冗余和高可用性的进程。 主服务器 主服务器接收所有...

  • MongoDB 复制集副本节点成员

    优先级为0的节点(Priority 0 Replica Set Members) 优先级为 0 的副本节点不会被选...

  • MongoDB复制集

    1、MongoDB复制集(副本集)简介 复制集模式(replicaSet mode),也叫副本集模式,指两个及以上...

  • 1.副本集-Replica Sets

    1.1 简介 MongoDB中的副本集(Replica Set)是一组维护相同数据集的mongod服务。 副本集可...

  • 搭建MongoDB副本集&分片

    副本集 什么是副本集? 顾名思义,副本集是一个集合,即MongoDB实例的集合,集合中的每个成员拥有相同的数据集合...

  • 翻译:MongoDB副本集--Oplog

    原文 oplog是一个特殊的上限集合,里面记录着你数据库里面的所有操作。MongoDB在 primary成员中接受...

  • MongoDB创建多节点实例实现高可用服务 (上)

    概述 MongoDB 的副本集(replica set)是一组维护同一份数据集的 mongod 进程。副本集保障了...

  • 阿里项目的高可用Mongodb集群部署

    数据副本 MongoDB中的一组副本是一群mongod进程,这些进程维护同样的数据集。副本集提供了冗余和高可用性,...

  • MongoDB集群部署

    数据副本 MongoDB中的一组副本是一群mongod进程,这些进程维护同样的数据集。副本集提供了冗余和高可用性,...

  • Mongodb集群搭建方式

    mongodb是最常用的nodql数据库,这篇文章介绍如何搭建高可用的mongodb副本集群。 相关概念 在搭建集...

网友评论

      本文标题:翻译:MongoDB副本集成员。

      本文链接:https://www.haomeiwen.com/subject/rgygaxtx.html