Advertisement

编写Elasticsearch日志记录并进行源码分析以解析其工作流程

阅读量:

文章结构概览

  • 引言
    • 协调节点处理流程

      • 数据预处理流程中的请求机制
      • 自动生成索引结构
      • 验证索引的mapping、routing及id相关信息
      • 内容路由,建立基于分片的请求结构
      • 将请求传递至主分片并等待其反馈
    • 主分片节点处理流程

      • 检验写入一致性
      • 执行Lucene写操作
      • 记录事务日志
      • 向副本分片进行数据写入
    • 副本分片节点处理流程

前言

文档的创建、索引以及删除操作均属于写入操作,单个文档的写入过程具体如下:

  1. 客户端会将写请求发送至协调节点,而ES系统中任意一个节点均可充当协调节点的角色,接收并处理该请求。
  2. 协调节点通过使用_routing字段(默认为文档ID)来判断该文档应当归属于哪个分片,并借助集群状态中的路由表信息定位到对应数据分片的主分片所在节点,从而将请求转发至主分片所在的节点。
  3. 主分片接收到请求后执行相应的写入操作。若写入成功,主分片会将该请求同时并行发送至各个副本分片,并等待所有副本返回结果。当所有副本均反馈成功时,主分片便会向协调节点汇报成功状态,随后由协调节点再将成功信息传递给客户端。
  4. 当客户端接收到成功的响应后,表明此次写操作已在主分片以及所有副本分片上完成执行。

全部评论 (0)

还没有任何评论哟~