MongoDB的Replica Set

MongoDB支持在多个机器中通过异步复制达到故障转移和实现冗余。多机器中同一时刻只有一台是用于写操作。
MongoDB的复制机制分为两种:
1 Master-Slave 主从复制:MongoDB的最新版本已不再推荐此方案。
2 Replica Sets复制集:增加了故障自动切换和自动修复成员节点,各个DB之间数据完全一致,大大降低了维护成功。

从节约资源的角度出发,我们一般都只用两台机器来部署MongoDB的复制集,在备节点所在服务器上再运行一个仲裁节点,然后将主节点的优先级调高,以保证仲裁节点总和备节点在一起。



 

基本上所有mongodb的连接驱动都支持连接复制集的方式,且方法大同小异,以Python为例:

>>>import pymongo
conn=pymongo.ReplicaSetConnection(
... "192.168.XX.XX:27017,192.168.XX.XX:27017,192.168.XX.XX:27018",
... replicaSet="myset",
... read_preference=3,
... safe=True)

read_preference:
0 查询只往PRIMARY机器发送
1 查询主要往PRIMARY机器发送,当PRIMARY机器不可用时,往SECONDARY机器发送查询请求
2 查询只往SECONDARY机器发送,如果没有可用的SECONDARY机器则报错
3 查询请求优先发往SECONDARY节点,当没有SECONDARY节点可用时,将查询发往PRIMARY节点
4 查询在所有成员间分发
read_preference设置为3的话可以自动实现读写分离。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值