《Elasticsearch源碼解析與優化實戰》PDF+《elasticsearch6.4中文文檔》

某種意義上說,elasticsearch 可分爲集羣層、索引層、分片層和最後的存儲引擎層(lucene);集羣層,一個節點作爲 master,採用 bully 算法選出,負責進行 allocation、全局狀態管理等;其他節點作爲協調節點(gateway、query、route & merge) 和 數據節點;每個數據節點多個分片,分片間主從,採用PacificA、translog 進行同步; 一個比較奇怪的點是,es 居然是 partition by DocId(而非 term)這導致了其搜索必須採用廣播形式,因此無法做到很大規模;線程模型嘛,看起來是按照任務,分爲不同獨立的線程池和隊列,底層數據共享。

對Elasticsearch進行改進的研發人員、平臺運維人員,對分佈式搜索感興趣的,在使用Elasticsearch過程中遇到了問題,推薦學習《Elasticsearch源碼解析與優化實戰》。

學習參考:
百度雲下載鏈接:https://pan.baidu.com/s/1UwRdukOdmdXaDWgU3aCAQw 提取碼:yte6

《Elasticsearch源碼解析與優化實戰》PDF+《elasticsearch6.4中文文檔》

介紹了Elasticsearch的系統原理,旨在幫助瞭解其內部原理、設計思想,以及在生產環境中如何正確地部署、優化系統。系統原理分兩方面介紹,一方面詳細介紹主要流程,例如啓動流程、選主流程、恢復流程;另一方面介紹各重要模塊的實現,以及模塊之間的關係,例如gateway模塊、allocation模塊等。最後一部分介紹如何優化寫入速度、搜索速度等大家關心的實際問題,並提供了一些診斷問題的方法和工具供讀者參考。

《Elasticsearch源碼解析與優化實戰》PDF+《elasticsearch6.4中文文檔》

《Elasticsearch源碼解析與優化實戰》PDF+《elasticsearch6.4中文文檔》

初看ES源碼,有一本這樣的源碼解析的書,知道從哪個模塊,更具體到哪個類入手開始看,所以還是有一些幫助的。其實發現書中好多東西也是從官方文檔中借鑑過來的吧,結合書和英文文檔看,理解起來會快一些。比如第六章數據副本模型:參考的鏈接就有很多:docs-replication、elasticsearch-sequence-ids-6-0、pacifica-replication-in-log-based-distributed-storage-systems、issue-24841、data-replication、BullyExample。

另有《elasticsearch6.4中文文檔》

《Elasticsearch源碼解析與優化實戰》PDF+《elasticsearch6.4中文文檔》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章