ES 17

摘要:
目录1添加、删除、修改文档流程1.1协调节点-协调节点1.2添加、删除和修改文档流程2查询文档流程参考版权声明1添加、添加、删除,以及修改文档流程1.1协调节点-协调节点(CoordinationNode):客户端随机选择一个节点发送操作请求,该节点称为协调节点。由于每个节点都可以计算文档存储

目录
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

版权声明

作者: 马瘦风

出处: 博客园 马瘦风的博客

您的支持是对博主的极大鼓励, 感谢您的阅读.

本文版权归博主所有, 欢迎转载, 但请保留此段声明, 并在文章页面明显位置给出原文链接, 否则博主保留追究相关人员法律责任的权利.

免责声明:文章转载自《ES 17》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇人生苦短,我用python-- Day4指纹识别器评估下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

Spark 数据读取与保存(输入、输出)

SaveAsTextFile(字符串)scala&gt:importsscala.util.parsing.json.json(2)将json文件上载到HDFS[lxl@hadoop102spark]$hadoopfs投入。/示例/src/main/resources/people。json/(3)读取文件scala>...

安装qmake与环境变量解析

如果你已经有了qmake,可以跳过这里,请看10分钟学会使用qmake。手动安装qmake在手工连编Qt之前,下面这些环境变量必须被设置:QMAKESPEC这个必须设置为你所使用的系统的平台和编译器的组合。当编译完成时,qmake已经可以使用了。这里对添加环境变量时,是在path里头添加,还是new一个变量有点疑惑。而如果是new的话,当我们在为程序添加路径...

Makefile系列之三 : 变量

第二个语法是针对于make命令行带入的变量,或是系统环境变量。...

CefSharp 浏览器核心,爬虫

CefSharp是什么Aframeworkforembeddingweb-browsing-likecapabilitiestoastandard.NETapplication(WPForWindowsForms).Asetofhigh-levelcustomcontrolstomakeitreasonablyeasytointegratethesecapa...

linux的flock命令(文件锁)

使用独占锁LOCK_EX,无论写入/读取都需要等待。LOCK_UN,无论使用共享/读占锁,使用完后需要解锁。LOCK_NB,当被锁定时,不阻塞,而是提示锁定。...

查看k8s中etcd数据

1.查看ETCD集群中运行的ETCDpod[root@master1~]#kubectlgetpod-nkube-system|grepetcdetcd-master11/1Running061metcd-master21/1Running058metcd-master31/1Running056m2.进入ETCDpod容器[root@master1~]#k...