您的位置:首页 > 数据库 > Mongodb

一边搭建一边理解MongoDB副本集(副本集中的角色-中)

2017-01-05 21:53 274 查看
作者:链上研发-175405

时间:2017-01-04

概述

在MongoDB中的副本集是一组mongod进程,他们提供了冗余和高可用性。副本集中的角色包括:

主节点:

  主节点接受所有的写请求。

从节点(们):

  从节点从主节点复制操作来维持一致的数据集。可以为从节点配置额外的选项用作特别的用途。比如从节点可以被配置为无法投票或优先级0。

你还可以维护一个监督者节点作为副本集的一部分。监督者节点不维护一份拷贝的数据,相反,监督者节点在当前主节点不可达时充当选举新主节点的作用。

副本集最小推荐配置是三个数据节点:一个主节点和两个从节点。你也可以部署一个拥有两个数据节点的副本集:一个主节点,一个从节点,一个监督者节点,但是拥有至少三个数据节点的数据集提供了更好的冗余。

在mongodb3.0之前副本集最多支持12个节点,现在支持50个节点并且只有7个节点有投票权。

主节点概述

主节点在副本集中是唯一接受写操作的节点。mongodb在主节点上应用写操作同时记录这次操作在主节点的oplog中。从节点复制的oplog并且将操作回放到他们自己的数据集中。

在下面3个角色的副本集中,主节点接受所有的写请求。然后从节点复制了oplog并应用到他们的数据集中。



副本集中的所有成员可以接受读请求,但是应用程序默认把都请求定向到主节点。

副本集至多可以拥有一个主节点。如果当前的主节点不可达,将会选举出一个新的主节点。

从节点概述

从节点维护了主节点数据的一份拷贝。为了拷贝数据,从节点在异步进程中从主节点的oplog应用操作在他们自己的数据集中。



一个从节点是可以成为主节点的,如果当前主节点不可达,副本集会发起一场选举来选择哪一个从节点成为主节点。

你可以配置一个从节点来实现特定的目的,你可以配置一个从节点来:

防止它在选举中成为主节点,如果它在备份数据中心或者作为备份节点。

防止应用向它发起读请求,这样允许这个节点和普通流量隔离。

保持一个历史的快照用作发生某种错误的恢复,比如误删除了数据库。

监督者概述

解读这节点没有保存数据并且不会成为主节点,副本集中可能拥有监督者来增加选举主节点的投票数。监督者节点总是拥有一个投票权,因此可以让副本集拥有奇数个投票节点而不需要在部署一个额外的节点来复制数据。

不要在运行主节点或从节点运行的主机上运行监督者节点。

仅在偶数投票节点的集合中增加监督者节点,如果你在技术投票者节点中增加监督者节点,这个集合会导致平票选举。

作者:链上研发-175405

时间:2017-01-04
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mongodb