ES 14 - (底层原理) Elasticsearch增删改查索引数据的过程

目录

Table of Contents

1 增删改document的流程

1.1 协调节点 - Coordinating Node

1.2 增删改document的流程

2 查询document的流程

参考资料


1 增删改document的流程

1.1 协调节点 - Coordinating Node

Coordinating Node(协调节点): 客户端随机选择一个Node用来发送操作请求, 这个节点就称为协调节点.

由于每个Node都能计算出Document的存储位置, 所以由哪个Node担任协调节点都是可以的——这对客户端来说是透明的.

1.2 增删改document的流程

① 客户端通过协调节点发送 增删改请求.

② 协调节点对客户端提交的文档进行路由, 然后将相关请求转发到 存储该文档的Primary Shard上.

③ Primary Shard处理客户端的请求, 然后将操作后的Document同步到其对应的Replica Shard中.

④ 协调节点监控到Primary Shard和其对应的Replica Shard都处理完了该Document, (协调节点)就将操作结果响应给客户端.

强调: 增删改操作只能由Primary Shard处理, Replica Shard只能处理查询请求.

2 查询document的流程

(1) 流程:

① 客户端通过协调节点发送 查询请求.

② 协调节点对客户端提交的文档进行路由, 明确存储相关文档的Primary Shard(主分片), 然后使用Round-Robin算法(随机轮训算法), 将查询请求转发到 该Primary Shard及这个主分片对应的任意一个Replica Shard(副本分片) —— 读请求的负载均衡.

③ 接收到查询请求的Shard执行该请求, 然后将查询结果响应给协调节点.

④ 协调节点将查询结果响应给客户端.

(2) 特殊情况说明:

如果某个Document正在Primary Shard中建立索引, 其他Replica Shard还没有来得及同步此索引, 而协调节点却将查询请求转发到了某个这样的Replica Shard上, 就会出现 没有查到这个Document 的情况.

当Document完成索引的创建之后, Primary Shard和Replica Shard中就都有相关数据了.

强调: Replica Shard只能处理读(查询)请求.

参考资料

Elasticsearch 6.6 官方文档 - Coordinating node

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值