MongoDB复制集设置复制延迟节点
2022-11-06 14:54 abce 阅读(239) 评论(0) 编辑 收藏 举报将延迟成员的vote设置为0,并将延迟成员隐藏,可以提升性能。
延迟节点需要满足的条件:
·优先级为0,这样就不会变成主节点。
·是隐藏的,应用不应该查询隐藏节点
·Oplog窗口能力必须要大于延迟窗口
设置延迟节点;
rs0:PRIMARY> cfg = rs.conf() rs0:PRIMARY> cfg.members[2].priority = 0 rs0:PRIMARY> cfg.members[2].hidden = true rs0:PRIMARY> cfg.members[2].slaveDelay = 900 //slaveDelay is in seconds and in v5.0 onwards, this parameter changed to secondaryDelaySecs. rs0:PRIMARY> cfg.members[2].votes = 0 rs0:PRIMARY> rs.reconfig(cfg)
注意,重构复制集会导致一次新的选举。因此,建议在维护窗口执行上面的操作。
rs0:PRIMARY> rs.conf().members[2] { "_id" : 3, "host" : "demo3:27017", "arbiterOnly" : false, "buildIndexes" : true, "hidden" : true, "priority" : 0, "tags" : { }, "slaveDelay" : NumberLong(900), "votes" : 0 }