`
CtripMySQLDBA
  • 浏览: 56484 次
  • 来自: 上海
社区版块
存档分类
最新评论

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的话可以自动实现读写分离。

 

 

  • 大小: 41.1 KB
1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics