首页 > 其他 > 详细

elasticsearch处理写请求(新建,索引和删除文档)的过程原理解读

时间:2021-05-06 17:00:46      阅读:29      评论:0      收藏:0      [点我收藏+]

接收写请求

  es可以通过轮训访问集群中的各个节点,被访问的这个节点叫做协调节点

处理写请求

如图:

  1. 客户端给集群发送写请求,处理节点为node1,此时node1为协调节点。
  2. 节点通过文档的_id计算属于分片0。协调节点会将请求发送给node3,因为主分片在node3上,并且写操作是在主分片完成之后才能复制到副本分片
  3. node1的主分片p0完成写操作后,将请求并行转发到其它副本分片所在的节点,一旦所有副本分片都报告成功了,node3将向协调节点报告成功,协调节点将向客户端报告成功

 

技术分享图片

处理更新请求

如图:

  1. 客户端向协调节点node1发送更新请求
  2. node1通过_id计算出属于分片0,将请求转发到主分区所在的node3节点
  3. node3从主分片检索文档,修改文档_source字段中的JSON,并且尝试重新索引主分片中的文档,如果文档被另一个进程修改,就会重新尝试步骤3,超过retry_on_conflict次数后放弃。
  4. 如果主分片更新成功,将会把新版本的文档转发到各个副本分片重新建立索引,一旦所有副本分片都返回成功,主分片所在的节点node3也向协调节点返回成功,协调节点向客户端返回成功。

 

 技术分享图片

 

 基于文档的复制

当主分片把更改转发到副本分片时,不会转发更新请求,它会转发新版本的完整的文档

 

elasticsearch处理写请求(新建,索引和删除文档)的过程原理解读

原文:https://www.cnblogs.com/yushucan/p/14735420.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!