文档能够从主分片或任意一个复制分片被检索。对于读请求,为了平衡负载,请求节点会为每个请求选择不同的分片——它会循环所有分片副本。
读.png1 客户端给Node 1发送get请求。
2 节点使用文档的_id确定文档属于分片0。分片0对应的复制分片在三个节点上都有。此时,它转发请求到Node 2。
3 Node 2返回给Node 1,然后返回给客户端。
注意:
一个被索引的文档已经存在于主分片上却还没来得及同步到复制分片上。这时复制分片会报告文档未找到,主分片会成功返回文档。一旦索引请求成功返回给用户,文档则在主分片和复制分片都是可用的。
多文档操作,请求节点知道每个文档所在的分片,把多文档请求拆成每个分片的对文档请求,然后转发至每个参与的节点。
网友评论