突破Java面试(15)-分布式搜索引擎Elastic Search的工作流程
以下用ES表Elastic Search
1 面试题
ES写入/查询数据的工作原理是什么呀?
2 考点分析
面试官就是想看看你是否了解ES的一些基本原理.
ES无非就是写/查数据,你如果不明白你发起写入/搜索请求后,ES做了什么,那你该劝退了.
3 详解
3.1 ES写数据的执行流程
- 客户端选择一个node发送请求过去,该node就是coordinating node(协调节点);
- coordinating node对document进行路由,将请求转发给对应的node(有primary shard);
- 实际的node上的primary shard处理请求,然后将数据同步到replica node;
- coordinating node若发现primary node和所有replica node都响应完操作后,就返回结果给客户端.