Elasticsearch的写入流程介绍
Elasticsearch 的写入流程是一个涉及 分布式协调、分片路由、数据同步和副本更新 的复杂过程,其设计目标是确保数据一致性、可靠性和高性能。以下是写入流程的详细解析:
一、写入流程总览
二、详细步骤解析
1. 客户端请求路由
- 请求入口:客户端(如 Java 客户端、REST API)发送写入请求(如
index
、create
、update
、delete
)到集群中的任意一个节点,该节点称为 协调节点(Coordinating Node)。 - 分片路由计算:
- 协调节点根据文档的
_id
(若未指定则自动生成),通过公式shard = hash(_id) % number_of_primary_shards
计算目标主分
- 协调节点根据文档的