0 0 0

Elasticsearch源码解析与优化实战.epub

挽着拄杖
1月前 270
我用夸克网盘分享了「Elasticsearch源码解析与优化实战.epub」,点击链接即可保存。打开「夸克APP」在线查看,支持多种文档格式转换。
Elasticsearch源码解析与优化实战 作者: 张超 出版社: 电子工业出版社 出品方: 博文视点 出版年: 2019-1 页数: 360 定价: 89 装帧: 平装 ISBN: 9787121352164

内容简介

《Elasticsearch源码解析与优化实战》介绍了Elasticsearch的系统原理,旨在帮助读者了解其内部原理、设计思想,以及在生产环境中如何正确地部署、优化系统。系统原理分两方面介绍,一方面详细介绍主要流程,例如启动流程、选主流程、恢复流程;另一方面介绍各重要模块的实现,以及模块之间的关系,例如gateway模块、allocation模块等。本书的最后一部分介绍如何优化写入速度、搜索速度等大家关心的实际问题,并提供了一些诊断问题的方法和工具供读者参考。 《Elasticsearch源码解析与优化实战》适合对Elasticsearch进行改进的研发人员、平台运维人员,对分布式搜索感兴趣的朋友,以及在使用Elasticsearch过程中遇到问题的人们。

作者简介

张超 长期从事服务端和基础架构等研发工作,对搜索、分布式系统、高性能网络服务有浓厚的兴趣,喜欢探究技术本质,喜欢分析有深度的问题。目前就职于360企业安全集团基础大数据团队,负责平台内核研发工作。

网友热评

Hmgqzx: 【Elasticsearch】3.7 星,主要讲底层架构和模块运行流程 破晓之春: 需要有一定的基础,诚如前面一位同学所说,即不深入也不浅出。食之无味弃之可惜的感觉,以后二刷吧 深海之蓝: 版本有点旧了,不过读代码之前先熟悉下结构和流程够用了 qfunking: 这本书其实写得蛮好的,适合有一定es使用经验、且希望结合源码深入研究的程序员,看完可以对es的整个架构有个清晰的认识。缺点的话,就是对各种机制的设计原因解释较少,当然这不能怪作者,es社区的材料本来就很少。其次就是,es版本迭代很快,书里有的内容已经过时,建议看的时候对照es官网文档。像集群协调模块、7.x中已经完全重构。作者有写个人博客,跟进es的最新发展,建议也可以关注一下。 somejunbao: 有很多优化项,理由讲了很多,看起来很靠谱。

图书目录

第1章 走进Elasticsearch 1.1 基本概念和原理 1.1.1 索引结构 1.1.2 分片(shard) 1.1.3 动态更新索引 1.1.4 近实时搜索 1.1.5 段合并 1.2 集群内部原理 1.2.1 集群节点角色 1.2.2 集群健康状态 1.2.3 集群状态 1.2.4 集群扩容 1.3客户端API 1.4 主要内部模块简介 1.4.1模块结构 1.4.2模块管理 第2章 准备编译和调试环境 2.1编译源码 2.1.1准备JDK和Gradle 2.1.2下载源代码 2.1.3编译项目,打包 2.1.4将工程导入IntelliJIDEA 2.2调试Elasticsearch 2.2.1本地运行、调试项目 2.2.2远程调试 2.3代码书签和断点组 第3章 集群启动流程 3.1选举主节点 3.2 选举集群元信息 3.3 allocation过程 3.4 indexrecovery 3.5集群启动日志 3.6小结 第4章 节点的启动和关闭 4.1启动流程做了什么 4.2启动流程分析 4.2.1启动脚本 4.2.2解析命令行参数和配置文件 4.2.3加载安全配置 4.2.4检查内部环境 4.2.5检测外部环境 4.2.6启动内部模块 4.2.7启动keepalive线程 4.3节点关闭流程 4.4关闭流程分析 4.5分片读写过程中执行关闭 4.6主节点被关闭 4.7小结 第5章 选主流程 5.1设计思想 5.2为什么使用主从模式 5.3选举算法 5.4相关配置 5.5流程概述 5.6流程分析 5.6.1选举临时Master 5.6.2投票与得票的实现 5.6.3确立Master或加入集群 5.7节点失效检测 5.7.1NodesFaultDetection事件处理 5.7.2MasterFaultDetection事件处理 5.8小结 第6章 数据模型 6.1PacificA算法 6.1.1数据副本策略 6.1.2配置管理 6.1.3错误检测 6.2ES的数据副本模型 6.2.1基本写入模型 6.2.2写故障处理 6.2.3基本读取模型 6.2.4读故障处理 6.2.5引申的含义 6.2.6系统异常 6.3AllocationIDs 6.3.1安全地分配主分片 6.3.2将分配标记为陈旧 6.2.3一个例子 6.3.4不会丢失全部 6.4SequenceIDs 6.4.1PrimaryTerms和SequenceNumbers 6.4.2本地及全局检查点 6.4.3用于快速恢复(Recovery) 6.5_version 第7章 写流程 7.1文档操作的定义 7.2可选参数 7.3Index/Bulk基本流程 7.4Index/Bulk详细流程 7.4.1协调节点流程 7.4.2主分片节点流程 7.4.3副分片节点流程 7.5I/O异常处理 7.5.1Engine关闭过程 7.5.2Master的对应处理 7.5.3异常流程总结 7.6系统特性 7.7思考 第8章 GET流程 8.1可选参数 8.2GET基本流程 8.3GET详细分析 8.3.1协调节点 8.3.2数据节点 8.4MGET流程分析 8.5思考 第9章 Search流程 9.1索引和搜索 9.1.1建立索引 9.1.2执行搜索 9.2searchtype 9.3分布式搜索过程 9.3.1协调节点流程 9.3.2 执行搜索的数据节点流程 9.4小结 第10章 索引恢复流程分析 10.1相关配置 10.2流程概述 10.3主分片恢复流程 10.4副分片恢复流程 10.4.1流程概述 10.4.2syncedflush机制 10.4.3副分片节点处理过程 10.4.4主分片节点处理过程 10.5recovery速度优化 10.6如何保证副分片和主分片一致 10.7recovery相关监控命令 10.8小结 第11章 gateway模块分析 11.1元数据 11.2元数据的持久化 11.3元数据的恢复 11.4元数据恢复流程分析 11.4.1选举集群级和索引级别的元数据 11.4.2触发allocation 11.5思考 第12章 allocation模块分析 12.1什么是allocation 12.2触发时机 12.3allocation模块结构概述 12.4allocators 12.5deciders 12.5.1负载均衡类 12.5.2并发控制类 12.5.3条件限制类 12.6核心reroute实现 12.6.1集群启动时reroute的触发时机 12.6.2流程分析 12.6.3gatewayAllocator 12.6.4shardsAllocator 12.7从gateway到allocation流程的转换 12.8从allocation流程到recovery流程的转换 12.9思考 第13章 Snapshot模块分析 13.1仓库 13.2快照 13.2.1创建快照 13.2.2获取快照信息 13.2.3快照status 13.2.4取消、删除快照和恢复操作 13.3从快照恢复 13.3.1部分恢复 13.3.2恢复过程中更改索引设置 13.3.3监控恢复进度 13.4创建快照的实现原理 13.4.1Lucene文件格式简介 13.4.2协调节点流程 13.4.3主节点流程 13.4.4数据节点流程 13.5删除快照实现原理 13.5.1协调节点流程 13.5.2主节点流程 13.6思考与总结 第14章 Cluster模块分析 14.1集群状态 14.2内部封装和实现 14.2.1MasterService 14.2.2ClusterApplierService 14.2.3线程池 14.3提交集群任务 14.3.1内部模块如何提交任务 14.3.2任务提交过程实现 14.4集群任务的执行过程 14.5集群状态的发布过程 14.5.1增量发布的实现原理 14.5.2二段提交总流程 14.5.3发布过程 14.5.4提交过程 14.5.5异常处理 14.6应用集群状态 14.7查看等待执行的集群任务 14.8任务管理API 14.8.1列出运行中的任务 14.8.2取消任务 14.9思考与总结 第15章 Transport模块分析 15.1配置信息 15.1.1传输模块配置 15.1.2通用网络配置 15.2Transport总体架构 15.2.1网络层 15.2.2服务层 15.3REST解析和处理 15.4RPC实现 15.4.1RPC的注册和映射 15.4.2根据Action获取处理类 15.5思考与总结 第16章 ThreadPool模块分析 16.1线程池类型 16.1.1fixed 16.1.2scaling 16.1.3direct 16.1.4fixed_auto_queue_size 16.2处理器设置 16.3查看线程池 16.3.1catthreadpool 16.3.2nodesinfo 16.3.3nodesstats 16.3.4nodeshotthreads 16.3.5Java的线程池结构 16.4ES的线程池实现 16.4.1ThreadPool类结构与初始化 16.4.2fixed类型线程池构建过程 16.4.3scaling类型线程池构建过程 16.4.4direct类型线程池构建过程 16.4.5fixed_auto_queue_size类型线程池构建过程 16.5其他线程池 16.6思考与总结 第17章 Shrink原理分析 17.1准备源索引 17.2缩小索引 17.3Shrink的工作原理 17.3.1创建新索引 17.3.2创建硬链接 17.3.3硬链接过程源码分析 第18章 写入速度优化 18.1translogflush间隔调整 18.2索引刷新间隔refresh_interval 18.3段合并优化 18.4indexingbuffer 18.5使用bulk请求 18.5.1bulk线程池和队列 18.5.2并发执行bulk请求 18.6磁盘间的任务均衡 18.7节点间的任务均衡 18.8索引过程调整和优化 18.8.1自动生成docID 18.8.2调整字段Mappings 18.8.3调整_source字段 18.8.4禁用_all字段 18.8.5对Analyzed的字段禁用Norms 18.8.6index_options设置 18.9参考配置 18.10思考与总结 第19章 搜索速度的优化 19.1为文件系统cache预留足够的内存 19.2使用更快的硬件 19.3文档模型 19.4预索引数据 19.5字段映射 19.6避免使用脚本 19.7优化日期搜索 19.8为只读索引执行force-merge 19.9预热全局序号(globalordinals) 19.10executionhint 19.11预热文件系统cache 19.12转换查询表达式 19.13调节搜索请求中的batched_reduce_size 19.14使用近似聚合 19.15深度优先还是广度优先 19.16限制搜索请求的分片数 19.17利用自适应副本选择(ARS)提升ES响应速度 第20章 磁盘使用量优化 20.1预备知识 20.1.1元数据字段 20.1.2索引映射参数 20.2优化措施 20.2.1禁用对你来说不需要的特性 20.2.2禁用docvalues 20.2.3不要使用默认的动态字符串映射 20.2.4观察分片大小 20.2.5禁用_source 20.2.6使用best_compression 20.2.7FourceMerge 20.2.8ShrinkIndex 20.2.9数值类型长度够用就好 20.2.10使用索引排序来排列类似的文档 20.2.11在文档中以相同的顺序放置字段 20.3测试数据 第21章 综合应用实践 21.1集群层 21.1.1规划集群规模 21.1.2单节点还是多节点部署 21.1.3移除节点 21.1.4独立部署主节点 21.2节点层 21.2.1控制线程池的队列大小 21.2.2为系统cache保留一半物理内存 21.3系统层 21.3.1关闭swap 21.3.2配置LinuxOOMKiller 21.3.3优化内核参数 21.4索引层 21.4.1使用全局模板 21.4.2索引轮转 21.4.3避免热索引分片不均 21.4.4副本数选择 21.4.5ForceMerge 21.4.6ShrinkIndex 21.4.7close索引 21.4.8延迟分配分片 21.4.9小心地使用fielddata 21.5客户端 21.5.1使用RESTAPI而非JavaAPI 21.5.2注意429状态码 21.5.3curl的HEAD请求 21.5.4了解你的搜索计划 21.5.5为读写请求设置比较长的超时时间 21.6读写 21.6.1避免搜索操作返回巨大的结果集 21.6.2避免索引巨大的文档 21.6.3避免使用多个_type 21.6.4避免使用_all字段 21.6.5避免将请求发送到同一个协调节点 21.7控制相关度 第22章 故障诊断 22.1使用ProfileAPI定位慢查询 22.2使用ExplainAPI分析未分配的分片(UnassignedShards) 22.2.1诊断未分配的主分片 22.2.2诊断未分配的副分片 22.2.3诊断已分配的分片 22.3节点CPU使用率高 22.4节点内存使用率高 22.5SlowLogs 22.6分析工具 22.6.1I/O信息 22.6.2内存 22.6.3CPU信息 22.6.4网络连接和流量 22.7小结 附录A 重大版本变化

Elasticsearch源码解析与优化实战.epub"网盘下载"

版权说明

1、本站不保存、不存储任何实质资源,以上二维码指向为网盘资源链接,其内容归对应版权方所有
2、如有侵犯版权的情况,请点击下面举报/反馈按钮反馈或发送邮件[email protected]投诉说明情况
3、我们核实后将第一时间删除相关页面内容,谢谢理解和配合

这些人下载过 (12)
  • 一人一烟寂寞一夜
  • 她入我梦毁我心
  • 幻舞者
  • 狂笑成癫
  • 找個好姑娘#
  • 盛唐遗风断空梦
  • 背叛我吗
  • 曾经拥有你想到就心酸
  • 再胖我也要你
  • 心伴我久
  • 好似梦
  • 恋于她
最新回复 (0)

    暂无评论

请先登录后发表评论!

返回
请先登录后发表评论!