面试题答案
一键面试副本集场景下及时刷新配置对维护数据一致性的关键作用
- 成员变更:在副本集中,若有成员加入或退出,及时刷新配置能确保所有成员知晓最新拓扑结构。例如,当新成员加入时,配置刷新后,其他成员可以与之建立连接并进行数据同步,避免因不知新成员存在而导致数据同步不完整,进而维护数据一致性。若未及时刷新,可能出现部分成员仍按旧配置进行操作,造成数据复制滞后或错误,破坏数据一致性。
- 优先级调整:副本集成员有不同优先级用于选举主节点。及时刷新配置可使成员了解优先级变化,确保在选举时按最新规则进行。比如,降低某个成员优先级后及时刷新配置,可避免该成员仍被误选为不适当的主节点,防止因不合适的主节点导致数据写入异常,维护数据一致性。若配置未及时刷新,可能出现优先级高的成员无法正常成为主节点,引发数据复制问题,破坏数据一致性。
分片集群场景下及时刷新配置对维护数据一致性的关键作用
- 分片变更:在分片集群中,添加或移除分片是常见操作。及时刷新配置能让集群中的路由器(mongos)和其他组件了解最新分片布局。例如添加新分片后刷新配置,mongos 可以正确地将数据路由到新分片,保证数据均匀分布且读写操作能正确定位数据,维护数据一致性。若配置不及时刷新,mongos 可能继续将数据错误地路由到旧分片,导致数据分布不均,影响读写一致性。
- 块迁移:为平衡负载,块会在分片间迁移。及时刷新配置使所有组件知道块的新位置。如块迁移完成后刷新配置,读写操作可准确访问到迁移后的数据,避免因不知道块新位置而读取旧数据或写入错误位置,从而维护数据一致性。若配置未及时更新,可能出现数据读写混乱,破坏数据一致性。