中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >>
ELASTICSEARCH源碼解析與優化實戰

包郵 ELASTICSEARCH源碼解析與優化實戰

作者:張超
出版社:電子工業出版社出版時間:2018-11-01
開本: 其他 頁數: 360
中 圖 價:¥58.9(6.6折) 定價  ¥89.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

ELASTICSEARCH源碼解析與優化實戰 版權信息

  • ISBN:9787121352164
  • 條形碼:9787121352164 ; 978-7-121-35216-4
  • 裝幀:一般膠版紙
  • 冊數:暫無
  • 重量:暫無
  • 所屬分類:>>

ELASTICSEARCH源碼解析與優化實戰 本書特色

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

ELASTICSEARCH源碼解析與優化實戰 內容簡介

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

ELASTICSEARCH源碼解析與優化實戰 目錄

第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 將工程導入IntelliJ IDEA
2.2 調試Elasticsearch
2.2.1 本地運行、調試項目
2.2.2 遠程調試
2.3 代碼書簽和斷點組
第3章 集群啟動流程
3.1 選舉主節點
3.2 選舉集群元信息
3.3 allocation過程
3.4 index recovery
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.1 NodesFaultDetection事件處理
5.7.2 MasterFaultDetection事件處理
5.8 小結
第6章 數據模型
6.1 PacificA算法
6.1.1 數據副本策略
6.1.2 配置管理
6.1.3 錯誤檢測
6.2 ES的數據副本模型
6.2.1 基本寫入模型
6.2.2 寫故障處理
6.2.3 基本讀取模型
6.2.4 讀故障處理
6.2.5 引申的含義
6.2.6 系統異常
6.3 Allocation IDs
6.3.1 安全地分配主分片
6.3.2 將分配標記為陳舊
6.2.3 一個例子
6.3.4 不會丟失全部
6.4 Sequence IDs
6.4.1 Primary Terms和Sequence Numbers
6.4.2 本地及全局檢查點
6.4.3 用于快速恢復(Recovery)
6.5 _version
第7章 寫流程
7.1 文檔操作的定義
7.2 可選參數
7.3 Index/Bulk基本流程
7.4 Index/Bulk詳細流程
7.4.1 協調節點流程
7.4.2 主分片節點流程
7.4.3 副分片節點流程
7.5 I/O異常處理
7.5.1 Engine關閉過程
7.5.2 Master的對應處理
7.5.3 異常流程總結
7.6 系統特性
7.7 思考
第8章 GET流程
8.1 可選參數
8.2 GET基本流程
8.3 GET詳細分析
8.3.1 協調節點
8.3.2 數據節點
8.4 MGET流程分析
8.5 思考
第9章 Search流程
9.1 索引和搜索
9.1.1 建立索引
9.1.2 執行搜索
9.2 search type
9.3 分布式搜索過程
9.3.1 協調節點流程
9.3.2 執行搜索的數據節點流程
9.4 小結
第10章 索引恢復流程分析
10.1 相關配置
10.2 流程概述
10.3 主分片恢復流程
10.4 副分片恢復流程
10.4.1 流程概述
10.4.2 synced flush機制
10.4.3 副分片節點處理過程
10.4.4 主分片節點處理過程
10.5 recovery速度優化
10.6 如何保證副分片和主分片一致
10.7 recovery相關監控命令
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.3 allocation模塊結構概述
12.4 allocators
12.5 deciders
12.5.1 負載均衡類
12.5.2 并發控制類
12.5.3 條件限制類
12.6 核心reroute實現
12.6.1 集群啟動時reroute的觸發時機
12.6.2 流程分析
12.6.3 gatewayAllocator
12.6.4 shardsAllocator
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.1 Lucene文件格式簡介
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.1 MasterService
14.2.2 ClusterApplierService
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.2 Transport總體架構
15.2.1 網絡層
15.2.2 服務層
15.3 REST解析和處理
15.4 RPC實現
15.4.1 RPC的注冊和映射
15.4.2 根據Action獲取處理類
15.5 思考與總結
第16章 ThreadPool模塊分析
16.1 線程池類型
16.1.1 fixed
16.1.2 scaling
16.1.3 direct
16.1.4 fixed_auto_queue_size
16.2 處理器設置
16.3 查看線程池
16.3.1 cat thread pool
16.3.2 nodes info
16.3.3 nodes stats
16.3.4 nodes hot threads
16.3.5 Java的線程池結構
16.4 ES的線程池實現
16.4.1 ThreadPool類結構與初始化
16.4.2 fixed類型線程池構建過程
16.4.3 scaling類型線程池構建過程
16.4.4 direct類型線程池構建過程
16.4.5 fixed_auto_queue_size類型線程池構建過程
16.5 其他線程池
16.6 思考與總結
第17章 Shrink原理分析
17.1 準備源索引
17.2 縮小索引
17.3 Shrink的工作原理
17.3.1 創建新索引
17.3.2 創建硬鏈接
17.3.3 硬鏈接過程源碼分析
第18章 寫入速度優化
18.1 translog flush間隔調整
18.2 索引刷新間隔refresh_interval
18.3 段合并優化
18.4 indexing buffer
18.5 使用bulk請求
18.5.1 bulk線程池和隊列
18.5.2 并發執行bulk請求
18.6 磁盤間的任務均衡
18.7 節點間的任務均衡
18.8 索引過程調整和優化
18.8.1 自動生成doc ID
18.8.2 調整字段Mappings
18.8.3 調整_source字段
18.8.4 禁用_all字段
18.8.5 對Analyzed的字段禁用Norms
18.8.6 index_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 預熱全局序號(global ordinals)
19.10 execution hint
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 禁用doc values
20.2.3 不要使用默認的動態字符串映射
20.2.4 觀察分片大小
20.2.5 禁用_source
20.2.6 使用best_compression
20.2.7 Fource Merge
20.2.8 Shrink Index
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 配置Linux OOM Killer
21.3.3 優化內核參數
21.4 索引層
21.4.1 使用全局模板
21.4.2 索引輪轉
21.4.3 避免熱索引分片不均
21.4.4 副本數選擇
21.4.5 Force Merge
21.4.6 Shrink Index
21.4.7 close索引
21.4.8 延遲分配分片
21.4.9 小心地使用fielddata
21.5 客戶端
21.5.1 使用REST API而非Java API
21.5.2 注意429狀態碼
21.5.3 curl的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 控制相
展開全部

ELASTICSEARCH源碼解析與優化實戰 作者簡介

長期從事服務端和基礎架構等研發工作,對搜索、分布式系統、高性能網絡服務有濃厚的興趣,喜歡探究技術本質,喜歡分析有深度的問題。目前就職于360企業安全集團基礎大數據團隊,負責平臺內核研發工作。

商品評論(0條)
暫無評論……
書友推薦
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 智能汉显全自动量热仪_微机全自动胶质层指数测定仪-鹤壁市科达仪器仪表有限公司 | 茶楼装修设计_茶馆室内设计效果图_云臻轩茶楼装饰公司 | 右手官网|右手工业设计|外观设计公司|工业设计公司|产品创新设计|医疗产品结构设计|EMC产品结构设计 | 动物麻醉机-数显脑立体定位仪-北京易则佳科技有限公司 | 六自由度平台_六自由度运动平台_三自由度摇摆台—南京全控科技 | 耐高温风管_耐高温软管_食品级软管_吸尘管_钢丝软管_卫生级软管_塑料波纹管-东莞市鑫翔宇软管有限公司 | 滑石粉,滑石粉厂家,超细滑石粉-莱州圣凯滑石有限公司 | 软瓷_柔性面砖_软瓷砖_柔性石材_MCM软瓷厂家_湖北博悦佳软瓷 | 流水线电子称-钰恒-上下限报警电子秤-上海宿衡实业有限公司 | 济南网站建设|济南建网站|济南网站建设公司【济南腾飞网络】【荐】 | 中开泵,中开泵厂家,双吸中开泵-山东博二泵业有限公司 | 厌氧反应器,IC厌氧反应器,厌氧三相分离器-山东创博环保科技有限公司 | 土壤养分检测仪|土壤水分|土壤紧实度测定仪|土壤墒情监测系统-土壤仪器网 | 智成电子深圳tdk一级代理-提供TDK电容电感贴片蜂鸣器磁芯lambda电源代理经销,TDK代理商有哪些TDK一级代理商排名查询。-深圳tdk一级代理 | 南京和瑞包装有限公司| Magnescale探规,Magnescale磁栅尺,Magnescale传感器,Magnescale测厚仪,Mitutoyo光栅尺,笔式位移传感器-苏州连达精密量仪有限公司 | 断桥铝破碎机_铝合金破碎机_废铁金属破碎机-河南鑫世昌机械制造有限公司 | 船用锚链|专业锚链生产厂家|安徽亚太锚链制造有限公司 | 济南保安公司加盟挂靠-亮剑国际安保服务集团总部-山东保安公司|济南保安培训学校 | 江苏全风,高压风机,全风环保风机,全风环形高压风机,防爆高压风机厂家-江苏全风环保科技有限公司(官网) | 上海办公室装修公司_办公室设计_直营办公装修-羚志悦装 | 环球周刊网| 沈阳缠绕膜价格_沈阳拉伸膜厂家_沈阳缠绕膜厂家直销 | 济南ISO9000认证咨询代理公司,ISO9001认证,CMA实验室认证,ISO/TS16949认证,服务体系认证,资产管理体系认证,SC食品生产许可证- 济南创远企业管理咨询有限公司 郑州电线电缆厂家-防火|低压|低烟无卤电缆-河南明星电缆 | 交联度测试仪-湿漏电流测试仪-双85恒温恒湿试验箱-常州市科迈实验仪器有限公司 | 苏州西朗门业-欧盟CE|莱茵UL双认证的快速卷帘门品牌厂家 | 焊锡丝|焊锡条|无铅锡条|无铅锡丝|无铅焊锡线|低温锡膏-深圳市川崎锡业科技有限公司 | 挤塑板-XPS挤塑板-挤塑板设备厂家[襄阳欧格] | 微信小程序定制,广州app公众号商城网站开发公司-广东锋火 | 彭世修脚_修脚加盟_彭世修脚加盟_彭世足疗加盟_足疗加盟连锁_彭世修脚技术培训_彭世足疗 | 北京西风东韵品牌与包装设计公司,创造视觉销售力! | 挖掘机挖斗和铲斗生产厂家选择徐州崛起机械制造有限公司 | 海水晶,海水素,海水晶价格-潍坊滨海经济开发区强隆海水晶厂 | 北京自然绿环境科技发展有限公司专业生产【洗车机_加油站洗车机-全自动洗车机】 | 沧州友城管业有限公司-内外涂塑钢管-大口径螺旋钢管-涂塑螺旋管-保温钢管生产厂家 | 武汉EPS线条_EPS装饰线条_EPS构件_湖北博欧EPS线条厂家 | 山西3A认证|太原AAA信用认证|投标AAA信用证书-山西AAA企业信用评级网 | 山东信蓝建设有限公司官网| 粘度计NDJ-5S,粘度计NDJ-8S,越平水分测定仪-上海右一仪器有限公司 | HDPE储罐_厂家-山东九州阿丽贝防腐设备 | 北京公积金代办/租房发票/租房备案-北京金鼎源公积金提取服务中心 |