Elasticsearch 的寫入流程是一個涉及 分布式協調、分片路由、數據同步和副本更新 的復雜過程,其設計目標是確保數據一致性、可靠性和高性能。以下是寫入流程的詳細解析:
一、寫入流程總覽
二、詳細步驟解析
1. 客戶端請求路由
- 請求入口:客戶端(如 Java 客戶端、REST API)發送寫入請求(如
index
、create
、update
、delete
)到集群中的任意一個節點,該節點稱為 協調節點(Coordinating Node)。 - 分片路由計算:
- 協調節點根據文檔的
_id
(若未指定則自動生成),通過公式shard = hash(_id) % number_of_primary_shards
計算目標主分
- 協調節點根據文檔的