1. 程式人生 > >ElasticSearch教程-ES分散式的特性

ElasticSearch教程-ES分散式的特性

分散式的特性

在章節的開始我們提到Elasticsearch可以擴充套件到上百(甚至上千)的伺服器來處理PB級的資料。然而我們的教程只是給出了一些使用Elasticsearch的例子,並未涉及相關機制。Elasticsearch為分散式而生,而且它的設計隱藏了分散式本身的複雜性。

Elasticsearch在分散式概念上做了很大程度上的透明化,在教程中你不需要知道任何關於分散式系統、分片、叢集發現或者其他大量的分散式概念。所有的教程你既可以執行在你的筆記本上,也可以執行在擁有100個節點的叢集上,其工作方式是一樣的。

Elasticsearch致力於隱藏分散式系統的複雜性。以下這些操作都是在底層自動完成的:

  • 將你的文件分割槽到不同的容器或者分片(shards)中,它們可以存在於一個或多個節點中。
  • 將分片均勻的分配到各個節點,對索引和搜尋做負載均衡。
  • 冗餘每一個分片,防止硬體故障造成的資料丟失。
  • 將叢集中任意一個節點上的請求路由到相應資料所在的節點。
  • 無論是增加節點,還是移除節點,分片都可以做到無縫的擴充套件和遷移。

當你閱讀本書時,你可以遇到關於Elasticsearch分散式特性的補充章節。這些章節將教給你如何擴充套件叢集和故障轉移,如何處理文件儲存,如何執行分散式搜尋,分片是什麼以及如何工作。

這些章節不是必讀的——不懂這些內部機制也可以使用Elasticsearch的。但是這些能夠幫助你更深入和完整的瞭解Elasticsearch。你可以略讀它們,然後在你需要更深入的理解時再回頭翻閱。