elasticsearch是怎麼讀寫的?es 寫數據過程:客戶端選擇一個 node 發送請求過去,這個 node 就是 coordinating node(協調節點)coordinating node 對 document 進行路由,将請求轉發給對應的 node(有 primary shard),接下來我們就來聊聊關于elasticsearch是怎麼讀寫的?以下内容大家不妨參考一二希望能幫到您!
elasticsearch是怎麼讀寫的
es 寫數據過程:客戶端選擇一個 node 發送請求過去,這個 node 就是 coordinating node(協調節點)。coordinating node 對 document 進行路由,将請求轉發給對應的 node(有 primary shard)。
實際的 node 上的 primary shard 處理請求,然後将數據同步到 replica nodcoordinating node 如果發現 primary node 和所有 replica node 都搞定之後,就返回響應結果給客戶端。
es 讀數據過程:可以通過 doc id 來查詢,會根據 doc id 進行 hash,判斷出來當時把 doc id分配到了哪個 shard 上面去,從那個 shard 去查詢。客戶端發送請求到任意一個 node,成為 coordinate node。
coordinate node 對 doc id 進行哈希路由,将請求轉發到對應的 node,此時會使用 round-robin随機輪詢算法,在 primary shard 以及其所有 replica 中随機選擇一個,讓讀請求負載均衡。接收請求的 node 返回 document 給 coordinate node。coordinate node 返回 document 給客戶端。