优先级为0的成员不能成为主节点,也不能触发选举。优先级0的成员可以确认w的写操作:。对于“多数”写关心,优先0成员也必须是一个投票成员(即members[n].votes大于0)表示认可。无表决权的复制集成员(即members[n].votes为0)不能帮助确认具有“多数”写关心的写操作。
除了上述限制之外,拥有优先级为0的次节点与普通的次节点一样:它们维护数据集的副本,接受读操作,并在选举中投票。
将次要服务器配置为优先级为0,以防止它成为主节点,这在多数据中心部署中特别有用。
例如,在下面的图中,一个数据中心承载主节点和一个次节点。第二个数据中心承载一个优先级为0的次节点。只有数据中心1中的成员可以成为主节点。
优先为0成员作为备用
优先级为0的次节点可以作为备用服务器。在某些复制集中,可能无法在合理的时间内添加新成员。备用成员保存数据的当前副本,以便能够替换不可用的成员。
在许多情况下,不需要将standby设置为优先级为0。但是,在具有不同硬件或地理分布的副本集中,优先级为0的备用确保只有某些成员是主成员。
优先级为0的备用系统对于具有不同硬件或工作负载配置文件的集合中的某些成员也很有价值。在这些情况下,部署优先级为0的成员,这样它就不能成为主成员。还可以考虑为此使用隐藏成员。
如果您的集合已经有7个有投票权的成员,还可以将该成员配置为无投票权。
故障转移注意事项
在将次节点配置为优先级为0时,请考虑潜在的故障转移模式,包括所有可能的网络分区。始终确保您的主数据中心包含投票成员的法定人数和有资格成为主节点的成员。
例子
若要将次节点配置为优先级为0,请参见防止次节点成为主节点。