【蓝因子教育】节点类型
优先级 0 型 (Priority 0) 节点
优先级 0 型节点不可以成为成为主节点,也不能触发选举。将从节点配置为优先级为 0 以防止它成为主节点,这在多数据中心部署中特别有用,在许多情况下,您无需将备用数据库设置为优先级 0. 但是,在具有不同硬件或地理分布的副本集中,优先级为 0 的备用数据库可确保仅某些成员成为主数据库,这样可以根据实际网络分区的网络质量等实际情况进行配置。
例如,一个数据中心承载主数据中心和辅助数据中心:
将第二个数据中心节点优先级为 0 只能为从节点数据库,而数据中心 1 中的节点才能成为主节点数据库。(比如你跨机房 A、B 部署了一个复制集,并且想指定 Primary 必须在 A 机房,这时可以将 B 机房的复制集成员 Priority 设置为 0,这样 Primary 就一定会是 A 机房的成员),
隐藏型 (Hidden) 节点
隐藏型 (Hidden) 节点:
- 隐藏型从节点是维护主数据集的副本,但对客户端应用程序不可见。隐藏型从节点适用于具有与副本集中其他成员不同的使用模式。
- 隐藏型从节点必须始终优先为 0 型从节点,因此不能成为主节点。 隐藏型从节点可能会在选举中投票。
- 隐藏型从节点将不会收到来自应用程序的请求。我们可以将隐藏型从节点专用于报表节点或是备份节点。
延迟型 (Delayed) 节点
由于延迟型从节点是数据集的 “滚动备份” 或运行 “历史” 快照,因此它们可以帮助您从各种人为错误中恢复。 例如,延迟节点可以从不成功的应用程序升级和操作员错误(包括丢弃的数据库和集合)中恢复。而且延迟型从节点一定是优先级为 0 的从节点,也是隐藏型从节点。不能成主节点,也不能给客户端查询。
在选择延迟量时,请考虑延迟量:
- 必须等于或大于预期的维护窗口持续时间。
- 必须小于 oplog 的容量。
投票型 (Vote) 节点以及不可投票节点
复制集节点可以通过配置 members [n].votes 来决定该节点是否具有投票权利!members [n].votes 值为 1 具有投票权利为投票型节点,为 0 则不可以投票即为不可投票节点。无表决权的节点必须优先级为 0,也是优先级大于 0 的成员不能为 0 值。虽然无表决权的成员不在选举中投票,但这些成员持有副本集数据的副本,并且可以接受来自客户端应用程序的读取操作。