30.es增删改内部分发原理

当客户端发送一次请求时,大致会经过以下几个步骤

   

1)客户端发送一个请求过去,es的一个node接收到这个请求(随机的),这个node就被es内部分配成coordinating node(协调节点)

2coordinating node对这次请求的document进行路由分发(由上一节的路由算法),将请求转发给对应的nodeprimary shard

3)实际的nodeprimary shard)接收到coordinating node所分发的请求后,在该primary shard上处理请求,处理完毕后将数据同步到相对应的replica node中。

4)当实际node处理完所有请求后,就会发消息给coordinating nodecoordinating node发现primary node和所有replica node都处理完毕之后,就返回响应结果给客户端。

   

其他几个注意点

1、因为是增删除改请求,所以只能是在primary shard中进行,不能在replic shard中进行。

2、因为任意node都知道每个document在那个node上,所以对客户端来说,可以选择任意节点,所以在进行请求时并未指定节点,由es随机分配。

posted @ 2018-02-24 10:36  outback123  阅读(230)  评论(0编辑  收藏  举报