重庆网站建设招标,架构图在什么网站可以做,教育局两学一做网站,网站推广找问题
Elasticsearch在读写数据的过程是什么样的?你该如何理解这个问题#xff01;
Elasticsearch的写数据过程
客户端选择一个节点发送请求#xff0c;这个时候我们所说的这个节点就是协调节点#xff08;coordinating node#xff09;协调节点对document进行了路由
Elasticsearch的写数据过程
客户端选择一个节点发送请求这个时候我们所说的这个节点就是协调节点coordinating node协调节点对document进行了路由然后将请求再转发给对应的节点primary shard实际上操作的节点的primary shard请求处理之后再将数据进行同步同步到replica node协调节点发现primary node及所有的replica node都搞定了之后就将相应结果返回给我们的客户端
Elasticsearch的读数据过程
这个时候我们可以通过文档id来查询会根据文档id进行hash判断我们当初将doc id分配给了哪一个shard然后再从这个shar进行查询操作。
客户端发送一个请求到任意的一个节点成为了协调节点coordinate node协调节点对doc id 进行hash路由然后在将请求进行转发转发到对应的节点这个时候会使用到round-robin进行随机轮询算法最终将primary shard以及其所有replica中进行随机选择一个来实现读请求的负载均衡。接收到请求的节点返回document给协调节点。协调节点返回document再给到客户端。
Elasticsearch的搜索数据过程
其实elasticsearch最强大的是他的全文检索功能。
客户端发送一个请求到协调节点协调节点会将搜索请求转发到所有的shard中对应的replica shard或者primary shard每个shard都会将自己的搜索结果返回给协调节点然后再由协调节点对数据进行合并、排序、分页等操作最终会输出结果接下来协调节点会根据doc id 去各个节点上面拉取实际的文档数据完成之后会最终将数据返回给客户端。
好了今天关于Elasticsearch的读、写、搜索过程就讲解到这里欢迎大家留言交流
也欢迎大家关注我的公众号《coder练习生》