搜索引擎副本分片
Replica 是什么?
主分片的拷贝,提供高可用和读吞吐
类比:同一册书的备份本,丢了还能用
它的作用
副本分片是主分片的完整拷贝,有两个作用:主分片所在节点挂了,副本会被提升为主;查询可以打到副本,提升读吞吐。
和主分片的区别
写请求必须先到主分片,再同步到副本;读请求主副本都可以。所以增加副本能提升读能力,不能提升写能力。
- 副本数可以随时修改(动态设置 number_of_replicas)
- 副本数至少 1,否则节点故障会丢数据
- 副本同步是同步复制,写关注 wait_for_active_shards 可调
容量规划
总存储 ≈ 原始数据 × (1 + 副本数) × 1.1(索引开销)。3 节点集群、1 副本,意味着数据要能在 2 台机器上放下。