ElasticSearch 架構圖


 

 

        

                                  ElasticSearch 架構圖      

 

 

下往上來分析ElasticSearch 架構圖

  Gateway代表ElasticSearch索引的持久化存儲方式。

      在Gateway中,ElasticSearch默認先把索引存儲在內存中,然后當內存滿的時候,再持久化到Gateway里。當ES集群關閉或重啟的時候,它就會從Gateway里去讀取索引數據。比如LocalFileSystem和HDFS、AS3等。

  DistributedLucene Directory,它是Lucene里的一些列索引文件組成的目錄。它負責管理這些索引文件。包括數據的讀取、寫入,以及索引的添加和合並等。

  River,代表是數據源。是以插件的形式存在於ElasticSearch中。 

  Mapping,映射的意思,非常類似於靜態語言中的數據類型。比如我們聲明一個int類型的變量,那以后這個變量只能存儲int類型的數據。

          比如我們聲明一個double類型的mapping字段,則只能存儲double類型的數據。

          Mapping不僅是告訴ElasticSearch,哪個字段是哪種類型。還能告訴ElasticSearch如何來索引數據,以及數據是否被索引到等。

  Search Moudle,這個很簡單

  Index Moudle,這個很簡單

  Disvcovery,主要是負責集群的master節點發現。比如某個節點突然離開或進來的情況,進行一個分片重新分片等。這里有個發現機制。

         發現機制默認的實現方式是單播和多播的形式,即Zen,同時也支持點對點的實現。另外一種是以插件的形式,即EC2。

  Scripting,即腳本語言。包括很多,這里不多贅述。如mvel、js、python等。   

  Transport,代表ElasticSearch內部節點,代表跟集群的客戶端交互。包括 Thrift、Memcached、Http等協議

    RESTful Style API,通過RESTful方式來實現API編程。

  3rd plugins,代表第三方插件。

  Java(Netty),是開發框架。

  JMX,是監控。

 

 

 

更詳細,見http://www.cnblogs.com/zlslch/category/950999.html 。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM