文档数据库副本集
Replica Set 是什么?
一主多从自动选主,保证 MongoDB 高可用
类比:一个班组,班长请假副班长顶上
组成
典型是三节点:1 个 Primary 接收写,2 个 Secondary 复制数据。也可以加一个 Arbiter(只投票不存数据)来凑多数派,节省资源。
选举
主节点心跳超时(默认 10 秒)后,剩余节点投票选新主,需要多数派同意。所以节点数最好是奇数,3 节点能容忍 1 台故障,2 节点反而不能自动切。
- 写关注 w:majority 表示多数节点确认才算成功
- 读关注 readPreference 控制从主还是从从节点读
- 切换期间写入会短暂失败,客户端要能重试
常见误区
以为副本集能提升写性能——不能,写永远只在 Primary。它的价值是高可用和读扩展,不是写扩展。写扩展要靠分片。