Mongodb主从架构

原创 2013年12月03日 21:05:29

Mongodb主从架构

一、介绍:

主从复制是Mongodb最常用的复制方式。这种方式非常灵活,可用于备份、故障恢复、读扩展等。


从上面的图形中我们可以分析出这种架构有如下的好处:

     <1> 数据备份。

     <2> 数据恢复。

     <3> 读写分离。

最基本的方式就是建立一个主节点和一个或者多个从节点,每个从节点要知道主节点的地址。主节点服务器使用mongod --master方式启动,而从节点服务器则使用mongod --slave --sourcemaster_address方式启动。其中master_address指的是主节点服务器的地址。

二、工作原理:

总的来说,mongodb的复制至少需要两个服务器或者节点。其中一个是主节点,负责处理客户端请求,其他的都是从节点,负责映射主节点的数据。主节点记录在其上执行的所有操作(oplog)。从节点定期轮询主节点获得这些操作,然后对自己的数据副本执行这些操作。由于和主节点执行了相同的操作,从节点就能保持与主节点的数据同步。

2.1Oplog:

主节点的操作记录成为oplog(operation log)。Oplog存储在一个特殊的数据库中,叫做local。Oplog就在其中的oplog.$main集合里面。Oplog中的每个文档都代表主节点上执行的一个操作。文档包含的键如下:

Ts: 操作的时间戳。用于跟踪操作执行的时间。

Op:操作类型,(“i”代表插入)

Ns:执行操作的命名空间(集合名)

O:进一步指定要执行的操作的文档。对插入来说,就是要插入的文档。

需要强调的是oplog只记录改变数据库状态的操作。如查询就不存了。

另外,oplog存储在固定的集合中。由于新操作也会存储在oplog中,它们会自动替换旧的操作。这样就能保证oplog不超过预先设定的大小。可通过启动服务器时指定--oplogSize来设定大小,单位为MB。默认情况下,64位实例将使用oplog 5%的可用空间。这个空间将在local数据库中分配,并在服务器启动时预先分配。

2.2同步

从节点第一次启动时,会对主节点数据进行完成的同步。从节点复制主节点上的每个文档,比较耗时。同步完成后,从节点开始查询主节点的oplog并执行这些操作,以保证数据是最新的。

 

三、实例

准备:

两台服务器:

192.168.192.68:master


192.168.229.79:slave

 

 

开启主服务器:

 

开启从服务器:

 

主服务器分配完空间:可以看到预分配了local.ns,local.0.local.1.local.2,全部以0填充

 

68等待slave:


79等待master:

 

查看从库(79)初始值:只有一个local

 

主库(68)插入一条记录:

 

从库(79)开始了拷贝:


查看从库(79)的数据:可以看到,数据已经同步过来了

 

客户端可以通过指定读取secondary来做读写分离

ds.getMongo().setReadPreference(ReadPreference.SECONDARY);

Mongodb的主从模式搭建实例

对数据库来说,为了保证数据的安全性和高可用性,往往会采用主从架构模式,对于Mongodb也是如此,这篇文章将讲述一下如何搭建一个简单的Mongodb主从架构模型。 在下面的实例中,因为没有多个服务器的...
  • andamajing
  • andamajing
  • 2016年05月10日 20:05
  • 4325

第一部分 基础篇 第三章 MongoDB体系结构

讲解MongoDB体系结构,通俗易懂
  • u014548782
  • u014548782
  • 2015年01月03日 16:39
  • 1581

MongoDB 3.0 常见集群的搭建(主从复制,副本集,分片....)

MongoDB 3.0 常见集群的搭建(主从复制,副本集,分片....)
  • canot
  • canot
  • 2016年02月25日 17:29
  • 9542

MongoDB--架构搭建(主从、副本集)之副本集

1、任何时间点只有一个活跃节点,其他为备份节点,当活跃节点泵机,将会通过选举规则,从备选节点选一个当活跃节点,当泵机的节点恢复之后,则变为备用节点。 2、节点类型 stabdard:常规节点,存储完整...
  • sun491922556
  • sun491922556
  • 2017年06月21日 16:11
  • 114

mongoDB安装与配置主从

  • 2017年11月13日 14:33
  • 17KB
  • 下载

MongoDb主从配置清单

  • 2017年07月12日 17:47
  • 48B
  • 下载

如何使用Delphi开发大型主从架构系统-Package的秘密和威力

  • 2012年02月07日 21:59
  • 490KB
  • 下载

zend框架里架构mysql主从

  • 2013年01月17日 16:06
  • 3.61MB
  • 下载

DB主从一致性架构优化4种方法

  • 2017年03月01日 13:12
  • 207KB
  • 下载

MySQL主从复制原理架构部署

  • 2017年12月25日 14:11
  • 771KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Mongodb主从架构
举报原因:
原因补充:

(最多只允许输入30个字)