实战MongoDB-Replication之Replica Set - 面向对象网,数据库,基础,原理,学习,对象 - 面向对象技术开发

面向对象技术开发

会员投稿 投稿指南 站长资讯通告:
您的位置: 首页 > 数据库 > 其它数据库 > 正文

实战MongoDB-Replication之Replica Set

来源: www.bianceng.cn 阅读:

实战MongoDB

Master-Slave

MongoDB支持不同服务之间的异步的数据复制,来实现failover(故障转移,故障切换,故障恢复) and redundancy(数据冗余)。

同一时间,只有一个服务节点(primary或者master)支持写入。

MongoDB支持两种复制的模式:

Master/Slave,主从复制,角色包括master和slave。

Replica Set,复制集复制,角色包括primary和secondary。

介绍Master/Slave的官方地址:

http://www.mongodb.org/display/DOCS/Master+Slave

介绍Replica Set的官方地址:

http://www.mongodb.org/display/DOCS/Replica+Sets

今天实战的是replica set,也就是复制集复制。

replica set可以实现自动的failover和自动的recovery。

replica set由两个或者更多的节点组成,实现彼此的复制。

replica set自动选择primary节点,没有一个节点是固定的primary。

mongos会自动发现一个replica set的primary节点发生变化,并将写操作发送给这个新的primary节点。

通常用于下面几个场景

数据冗余。

自动failover,提供高可用性的服务。

分散读的负载。

简化维护(相对于master-slave来说)。

灾难恢复。

首先还是启动mongod,用于replica set的参数有两个:

--replSet <setname>,复制集的名称。

--oplogSize <MB>,操作日志的大小,单位为MB。

这回我们在ubuntu下面配置replica set,先启动两个mongod节点。

mongod --dbpath /home/andyshi/mongo1/ --logpath /home/andyshi/mongo1/log.log --replSet shard1 --port 10001 --bind_ip 192.168.0.21

mongod --dbpath /home/andyshi/mongo2/ --logpath /home/andyshi/mongo2/log.log --replSet shard1 --port 10002 --bind_ip 192.168.0.21

你会注意到,上面两个mongod的启动参数replSet指定了相同的值shard1,也就是两个个mongod节点处于同一个replica set中。

Tags:
相关文章列表: