elasticsearch学习笔记(十九)——Elasticsearch document查询内部原理

下面直接点,先描述一下一个查询请求打过来Elasticsearch内部作了什么。node

clipboard.png

(1)客户端发送请求到任意一个node,这个node就成为了协调节点coordinating node
(2)协调节点coordinating node会对document进行路由,将请求转发到包含该document的对应的node上面去,此时会使用round-robin随机轮询算法,在primary shard以及全部的replica shard中随机选择一个,让打过来的读请求实现负载均衡
(3)接收请求的node会返回document给协调节点coordinating node
(4)协调节点将document数据返回给客户端算法

对于读取请求,协调节点将在每一个请求上选择不一样的分片副本以平衡负载; 它循环遍历全部碎片副本。负载均衡

在索引文档时,文档可能已经存在于主分片上但还没有复制到副本分片。在这种状况下,副本可能会报告文档不存在,而主副本可能会成功返回文档。索引请求将成功返回给用户后,该文档将在主分片和全部副本分片上可用。spa

最后简单描述一下随机轮询算法:
举个例子,好比一个协调节点coordinating接受到一个document的4次请求,就会使用随机轮询算法,循环遍历全部shard,将4次请求均匀的打在全部shard上面,好比有4个shard,就会每一个shard各一个请求。blog

相关文章
相关标签/搜索