1.客戶端選擇一個 node 發送請求過去,這個 node 就是 coordinating node
(協調節點)。
2.coordinating node
對 document 進行路由,將請求轉發給對應的 node(有 primary shard)。
3.實際的 node 上的 primary shard
處理請求,然後將數據同步到 replica node
。
4.coordinating node
如果發現 primary node
和所有 replica node
都搞定之後,就返回響應結果給客戶端。
概念解釋:
協調節點:當一個搜索請求被髮往一個節點時,該節點就變成了協調節點(Coordinating Node)。默認情況下es集羣中所有的節點都能當協調節點,主要作用於請求轉發,請求響應處理等輕量級操作。
primary shard和
replica shard:
replica shard是primary shard的副本,負責容錯,以及承擔讀請求負載。
primary shard和replica shard不能和自己的replica shard 放在一個節點中(這樣規定是爲避免節點宕機的時候,primary shard和replica shard數據都都丟失,起不到容錯的作用),但是可以和其他的primary shard的replica shard放在同一個節點中。