Teng's blog Teng's blog
首页
Java
H5前端
GitHub (opens new window)
首页
Java
H5前端
GitHub (opens new window)
  • 认知

  • 入门

  • 环境

  • 进阶

    • 核心概念
    • 系统架构
    • 单节点集群
    • 故障转移
    • 水平扩容
    • 应对故障
    • 路由计算
    • 分片控制
    • 写操作流程
    • 数据读流程
      • 步骤
      • 小结
    • 更新操作流程
    • 批量操作流程
    • 倒排索引
    • 文档搜索
    • 文档刷新-刷写-合并
    • 文档分析-分词器
    • 文档控制
    • 文档展示-kibana
  • 框架集成

  • 优化

  • 面试题

  • Database-Elasticsearch
  • 进阶
Shetengteng
2022-02-03

数据读流程

可以从主分片或者从其它任意副本分片检索文档

# 步骤

  • 客户端向 Node 1 发送获取请求
  • 节点使用文档的 _id 来确定文档属于分片 0 ;分片 0 的副本分片存在于所有的三个节点上。 上例中,它将请求转发到 Node 2
  • Node 2 将文档返回给 Node 1 ,然后将文档返回给客户端
    • 在处理读取请求时,协调结点在每次请求的时候都会通过轮询所有的副本分片来达到负载均衡
      • Node1 访问 Node2 是由于轮询到了Node 2节点
    • 在文档被检索时,已经被索引的文档可能已经存在于主分片上但是还没有复制到副本分片。 在这种情况下,副本分片可能会报告文档不存在,但是主分片可能成功返回文档
      • 即使数据已经在主分片了,也有可能查询不到,副本分片可能还没有数据
    • 一旦索引请求成功返回给用户,文档在主分片和副本分片都是可用的

# 小结

在处理读取请求时,协调结点在每次请求的时候都会通过轮询所有的副本分片来达到负载均衡

在文档被检索时,已经被索引的文档可能已经存在于主分片上但是还没有复制到副本分片。 在这种情况下,副本分片可能会报告文档不存在,但是主分片可能成功返回文档。 一旦索引请求成功返回给用户,文档在主分片和副本分片都是可用的

  • 客户端发送查询请求到协调点
  • 协调点计算数据所在的分片以及全部副本位置
  • 为了负载均衡,轮询所有节点
  • 将请求转发给具体的节点
  • 节点返回结果给协调节点,协调节点将结果返回给客户端
Last Updated: 2022/04/10, 13:57:31
写操作流程
更新操作流程

← 写操作流程 更新操作流程→

Theme by Vdoing | Copyright © 2021-2022 Shetengteng | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式