ElasticSearch18:图解document增删改内部原理

1.假设场景

3个节点,3个primary shard,3个replica shard,总共6个shard,每个节点2个shard

ElasticSearch18:图解document增删改内部原理


增删改的操作的过程都是一样的。


过程:

1)首先客户端client需要创建一个document,指定任意一个node,比如说node0,此时向node0发送请求。

2)node0接收到请求,此时的node0就是协调节点,即coordinate node。

3)node0判断该document的路由信息,发现指向了p1,因为p1不在node0上,所以node0将document转发到node2上的p1上

4)p1接收到请求的document,并操作数据变更,

5)p1操作完成数据后,并同步到R1上

6)R1同步完成之后,协调节点就会向客户端返回结果。




总结:

1)客户端选择一个node发送请求,这个node就是coordinating node(协调节点)

2)coordinating node,对document进行路由,将请求转发给对应的node(有primary shard)

3)实际的node上的primary shard处理请求,然后将数据同步到replica shard

4)coordinating node,如果发现primary shard和所有replica node都搞定了,就返回响应结果给客户端