当前位置:   article > 正文

elasticsearch底层_实时搜索引擎:《Elasticsearch源码解析与优化实战 》PDF

elasticsearch源码解析与优化实战 pdf

某种意义上说,elasticsearch 可分为集群层、索引层、分片层和最后的存储引擎层(lucene);集群层,一个节点作为 master,采用 bully 算法选出,负责进行 allocation、全局状态管理等;其他节点作为协调节点(gateway、query、route & merge) 和 数据节点;每个数据节点多个分片,分片间主从,采用PacificA、translog 进行同步; 一个比较奇怪的点是,es 居然是 partition by DocId(而非 term)这导致了其搜索必须采用广播形式,因此无法做到很大规模;线程模型嘛,看起来是按照任务,分为不同独立的线程池和队列,底层数据共享。
对Elasticsearch进行改进的研发人员、平台运维人员,对分布式搜索感兴趣的,在使用Elasticsearch过程中遇到了问题,推荐学习《Elasticsearch源码解析与优化实战》。
学习参考:
《Elasticsearch源码解析与优化实战 》PDF,362页,带目录,文字可复制。配套源代码。
下载:https://pan.baidu.com/s/1R89j-Rkq56pGOXU0jnZlmw

钥匙:ym14

206edbfa646b03e4e70c98d58d78b599.png


介绍了Elasticsearch的系统原理,旨在帮助了解其内部原理、设计思想,以及在生产环境中如何正确地部署、优化系统。系统原理分两方面介绍,一方面详细介绍主要流程,例如启动流程、选主流程、恢复流程;另一方面介绍各重要模块的实现,以及模块之间的关系,例如gateway模块、allocation模块等。最后一部分介绍如何优化写入速度、搜索速度等大家关心的实际问题,并提供了一些诊断问题的方法和工具供读者参考。

d5cbe50db389d4abc3821b23865971e2.png

29e2455094b51318fcb0799b19f7e9ee.png


初看ES源码,有一本这样的源码解析的书,知道从哪个模块,更具体到哪个类入手开始看,所以还是有一些帮助的。其实发现书中好多东西也是从官方文档中借鉴过来的吧,结合书和英文文档看,理解起来会快一些。比如第六章数据副本模型:参考的链接就有很多:docs-replication、elasticsearch-sequence-ids-6-0、pacifica-replication-in-log-based-distributed-storage-systems、issue-24841、data-replication、BullyExample。
另有《elasticsearch6.4中文文档》

bb2a09e2f725e657a674de439099feea.png


转自:https://www.jianshu.com/p/e853a8ba4eaf

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/419467
推荐阅读
相关标签
  

闽ICP备14008679号