Replication
為什麼要跨節點分發副本分片而不是鏡像副本?
我試圖了解副本如何在 Elasticsearch 中工作。
這是一個非常基本的問題,但有人可以解釋為什麼一個節點不只是所有副本嗎?在這個例子中,如果一個節點發生故障,肯定會失去 50% 的分片?
在您的範例中,有兩個節點。
數據以 4 個數據集分片表示:A、B、C、D。
兩個節點都保存所有 4 個數據集,每個節點作為 2 個數據集的主要可寫分片,以及 2 個數據集的輔助(只讀)副本分片。
這允許您將工作負載分散到兩個節點上,每個節點服務一半的工作負載。如果一個節點發生故障,輔助副本數據集可以在另一個節點上成為主要的,單個節點服務 100% 的工作負載。沒有數據失去,因為兩個節點上都存在 A、B、C 和 D。