代码改变世界

MongoDB复制集设置复制延迟节点

  abce  阅读(249)  评论(0编辑  收藏  举报

将延迟成员的vote设置为0,并将延迟成员隐藏,可以提升性能。

延迟节点需要满足的条件:
·优先级为0,这样就不会变成主节点。
·是隐藏的,应用不应该查询隐藏节点
·Oplog窗口能力必须要大于延迟窗口

设置延迟节点;

1
2
3
4
5
6
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)

注意,重构复制集会导致一次新的选举。因此,建议在维护窗口执行上面的操作。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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
    }

  

相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2020-11-06 PostgreSQL中index only scan并不总是仅扫描索引
2019-11-06 MySQL应用报错:java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction
2018-11-06 12C - PDB archive file
2017-11-06 MySQL 5.6新特性 -- Multi-Range Read
2017-11-06 MySQL 5.6新特性 -- Index Condition Pushdown
2017-11-06 12C -- ORA-12850: 无法在所有指定实例上分配从属进程: 需要 2, 已分配 1
2015-11-06 向数据库中导入AWR数据
点击右上角即可分享
微信分享提示