MongoDB复制集配置延迟从库

生产环境中,配置延迟从库(延迟副本)有时候会成为运维同学的救命稻草,比如在我们误操作之后,可以从延迟从库中找回被误操作的数据。


 
前提

  • 必须是priority=0,避免成为primary节点
  • 必须是hidden=0,避免被应用读到过期数据
  • 如果votes=1,那么延迟节点也具备投票权

 
注意事项

  • 延迟时间要低于oplog window,避免primary节点删除了旧的oplog
  • 延迟时间要大于预计维护集群所需的时间量,避免时间过短,延迟节点应用了错误的oplog
     

配置方法
在primary节点执行

cfg=rs.conf() 
cfg.members[3].priority=0
cfg.members[3].slaveDelay=3600
cfg.members[3].hidden=true
rs.reconfig(cfg) 

配置延迟节点时间为延迟3600s

上一篇:C# 调用 C++ dll (类型对照)


下一篇:Mongo副本集的组成