MongoDb Replication

本文探讨了MongoDB的复制机制,包括master-slave与Replica Pairs两种模式的特点及限制。作者希望实现一种结合Replica Pairs与slave(s)模式的功能,并提出了可能的解决方案。
MongoDb的Replication支持: 1. master-slave: slave可以有多个. 2. Replica Pairs 实际上是一个failover的master-slave模式. 启动时,2个node的mongo会协商,其中1个成为master,另一个为slave. 当master down了,那么slave会自动接管成为master. 不过,这种模式需要driver支持. 需要在driver connect时候 选择pairs 模式. 3. 有限的master-master 可忽略 问题是,我希望是 replica pairs + slave(s) 模式. 不幸的是, 目前版本不支持. mailinglist说是在开发中. 主要的一个限制就是slave的source只能在启动时候指定, 虽然支持多个upstream的source,但是无法中途修改. 如果source改变,需要shutdown然后restart. 此外,一个缺陷是,需要client端链接时指定host. 我理想的模式是使用虚拟ip, 一个是writer,一个是reader. 当某个node down了,则通过arp 转到另一个实际的node的真实ip. 这是writer, 如果是reader,那么可以通过LVS来负载均衡 到不同的节点. 粗粗想一下,实现这个解决方案的难度倒不大. 可以参考mysql的mmm. 等等看,如果未来mongodb没有出类似的方案,可以考虑实现一个.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值