时间:2021-07-01 10:21:17 帮助过:75人阅读
w : <number>
.时,是有用节点。与属性votes
=0 不同。
Priority=0在mongoDB中的解释就是一个Standby,可投票不可参选,又干活又负载。对于Priority为0节点的情况,通常作为一个standby,或由于硬件配置较差,设置为0以使用不可能成为主。
此节点在数据多中心时很有用。可以将异地的数据节点添加这种属性。
隐藏节点(Hidden)
字面上来说,隐藏。这个隐藏式对客户端的隐藏,客户端如果要读取Secondary的数据,永远无法读取Hidden节点的数据,因为设置了Hidden的这个节点对于客户端是透明的,不可见。但是,对于自己的Secondary的群体和Primary来说都是可见的,所以,Hidden依然可以投票,依然要按照oplog进行命令的复制,只是,不参与负载了。
Hidden属性的前提是必须是一个Priority=0的节点,所以会具备一些优先级=0的特点。
1)Hidden节点不能被选为主(Priority为0),并且对Driver不可见。
2)但在Hidden节点上,可做一些数据备份、离线计算的任务,不会影响复制集的服务
3)隐藏节点成员建议总是将其优先级设置为0(priority 0)
4)由于对Driver不可见,因此不会作为read preference节点,隐藏节点可以作为投票节点
5)在分片集群当中,mongos不会同隐藏节点交互。
延迟节点(Delayed)
延迟比较容易理解,代表此节点的数据与Primary的数据有一定的迟延,通过设定一个迟延的属性来确定。
1)此节点必须是一个Priority=0且为Hidden的节点。
2)此节点虽然又迟延又Hidden,但是还是可以投票。
3)延迟单位设置为秒。
节点属性如下:
{ "_id" : <num>, "host" : <hostname:port>, "priority" : 0, "slaveDelay" : <seconds>, "hidden" : true }
我们在前面已经接受了,一个副本集最多有7个投票节点,如果还有其它的节点,需要设置为非投票节点。
非投票节点拥有数据副本,但是不参与投票。另外,非投票节点,其 priority 必须设置为
0。
MongoDB副本集功能及节点属性梳理
标签:str driver mon 防止 状态 高可用性 strong mongo 优先