elasticsearch學習筆記(十九)——Elasticsearch document查詢內部原理

下面直接點,先描述一下一個查詢請求打過來Elasticsearch內部作了什麼。node

clipboard.png

(1)客戶端發送請求到任意一個node,這個node就成爲了協調節點coordinating node
(2)協調節點coordinating node會對document進行路由,將請求轉發到包含該document的對應的node上面去,此時會使用round-robin隨機輪詢算法,在primary shard以及全部的replica shard中隨機選擇一個,讓打過來的讀請求實現負載均衡
(3)接收請求的node會返回document給協調節點coordinating node
(4)協調節點將document數據返回給客戶端算法

對於讀取請求,協調節點將在每一個請求上選擇不一樣的分片副本以平衡負載; 它循環遍歷全部碎片副本。負載均衡

在索引文檔時,文檔可能已經存在於主分片上但還沒有複製到副本分片。在這種狀況下,副本可能會報告文檔不存在,而主副本可能會成功返回文檔。索引請求將成功返回給用戶後,該文檔將在主分片和全部副本分片上可用。spa

最後簡單描述一下隨機輪詢算法:
舉個例子,好比一個協調節點coordinating接受到一個document的4次請求,就會使用隨機輪詢算法,循環遍歷全部shard,將4次請求均勻的打在全部shard上面,好比有4個shard,就會每一個shard各一個請求。blog

相關文章
相關標籤/搜索