![](/c49/99/10029241063665.jpg)
店鋪:遼寧音像出版社圖書專營店 出版社:電子工業出版社 ISBN:9787121359026 商品編碼:10029241063665 包裝:平裝 出版時間:2019-01-01 作者:朱忠華
"基本信息 書名:深入理解Kafka:核心設計與實踐原理 定價 作者:朱忠華 著 出版社:電子工業出版社 出版日期:2019-01-01 ISBN:9787121359026 字數:547200 頁碼:456 版次:1 裝幀:平裝 開本:16開 商品重量: 編輯推薦
適讀人群 :本書定位為一本實戰與原理相結合的書,既適合Kafka的初學者,也適合於對Kafka有深度認知的老手。 本書從Kafka的基本概念入手,主要從生產端、消費端、服務端等3個方面進行全面的陳述,主要內容包括Kafka的基本使用方式、生產者客戶端的使用、消費者客戶端的使用、主題與分區、日志存儲、深入原理解析、監控的設計、高級應用的擴展以及與Spark的集成等。雖然Kafka的內核使用Scala語言編寫,但是本書基本以Java語言作為主要的示例語言,方便絕大多數讀者的理解。 內容提要
本書從Kafka的基本概念入手,主要從生產端、消費端、服務端等3個方面進行全面的陳述,主要內容包括Kafka的基本使用方式、生產者客戶端的使用、消費者客戶端的使用、主題與分區、日志存儲、深入原理解析、監控的設計、高級應用的擴展以及與Spark的集成等。雖然Kafka的內核使用Scala語言編寫,但是本書基本以Java語言作為主要的示例語言,方便絕大多數讀者的理解。本書雖然沒有明確的界定,但是總體上可以隱性的劃分為三個部分:基礎篇、原理篇和擴展篇,以這種循序漸進的方式更能讓讀者容易接受。 目錄
章初識Kafka 1.1基本概念 1.2安裝與配置 1.3生產與消費 1.4服務端參數配置 1.5總結 第2章生產者 2.1客戶端開發 2.1.1必要的參數配置 2.1.2消息的發送 2.1.3序列化 2.1.4分區器 2.1.5生產者攔截器 2.2原理分析 2.2.1整體架構 2.2數據的更新 2.3重要的生產者參數 2.4總結 第3章消費者 3.1消費者與消費組 3.2客戶端開發 3.2.1必要的參數配置 3.2.2訂閱主題與分區 3.2.3反序列化 3.2.4消息消費 3.2.5位移提交 3.2.6控制或關閉消費 3.2.7指定位移消費 3.2.8再均衡 3.2.9消費者攔截器 3.2.10多線程實現 3.2.11重要的消費者參數 3.3總結 第4章主題與分區 4.1主題的管理 4.1.1創建主題 4.1.2分區副本的分配 4.1.3查看主題 4.1.4修改主題 4.1.5配置管理 4.1.6主題端參數 4.1.7刪除主題 4.2初識KafkaAdminClient 4.2.1基本使用 4.2.2主題合法性驗證 4.3分區的管理 4.3.1優先副本的選舉 4.3.2分區重分配 4.3.3復制限流 4.3.4修改副本因子 4.4如何選擇合適的分區數 4.4.1性能測試工具 4.4.2分區數越多吞吐量就越高 4.4.3分區數的上限 4.4.4考量因素 4.5總結 第5章日志存儲 5.1文件目錄布局 5.2日志格式的演變 5.2.1v0版本 5.2.2v1版本 5.2.3消息壓縮 5.2.4變長字段 5.2.5v2版本 5.3日志索引 5.3.1偏移量索引 5.3.2時間戳索引 5.4日志清理 5.4.1日志刪除 5.4.2日志壓縮 5.5磁盤存儲 5.5.1頁緩存 5.5.2磁盤I/O流程 5.5.3零拷貝 5.6總結 第6章深入服務端 6.1協議設計 6.2時間輪 6.3操作 6.4控制器 6.4.1控制器的選舉及異常恢復 6.4.2優雅關閉 6.4.3分區leader的選舉 6.5參數解密 6.5.1broker.id 6.5.2bootstrap.servers 6.5.3服務端參數列表 6.6總結 第7章深入客戶端 7.1分區分配策略 7.1.1RangeAssignor分配策略 7.1.2RoundRobinAssignor分配策略 7.1.3StickyAssignor分配策略 7.1.4自定義分區分配策略 7.2消費者協調器和組協調器 7.2.1舊版消費者客戶端的問題 7.2.2再均衡的原理 7.3__consumer_offsets剖析 7.4事務 7.4.1消息傳輸保障 7.4.2冪等 7.4.3事務 7.5總結 第8章可靠性探究 8.1副本剖析 8.1.1失效副本 8.1.2ISR的伸縮 8.1.3LEO與HW 8.1.4Leader Epoch的介入 8.1.5為什麼不支持讀寫分離 8.2日志同步機制 8.3可靠性分析 8.4總結 第9章Kafka應用 9.1命令行工具 9.1.1消費組管理 9.1.2消費位移管理 9.1.3手動刪除消息 9.2Kafka Connect 9.2.1獨立模式 9.2.2REST API 9.2.3分布式模式 9.3Kafka Mirror Maker 9.4Kafka Streams 9.5總結 0章Kafka監控 10.1監控數據的來源 10.1.1OneMinuteRate 10.1.2獲取監控指標 10.2消費滯後 10.3同步失效分區 10.4監控指標說明 10.5監控模塊 10.6總結 1章高級應用 11.1過期時間(TTL) 11.2隊列 11.3死信隊列和重試隊列 11.4消息路由 11.5消息軌跡 11.6消息審計 11.7消息代理 11.7.1快速入門 11.7.2REST API介紹及示例 11.7.3服務端配置及部署 11.7.4應用思考 11.8消息中間件選型 11.8.1各類消息中間件簡述 11.8.2選型要點概述 11.8.3消息中間件選型誤區探討 11.9總結 2章Kafka與Spark的集成 12.1Spark的安裝及簡單應用 12.2Spark編程模型 12.3Spark的運行結構 12.4Spark Streaming簡介 12.5Kafka與Spark Streaming的整合 12.6Spark SQL 12.7Structured Streaming 12.8Kafka與Structured Streaming的整合 12.9總結 附錄AKafka源碼環境搭建 作者介紹
目前主要從事消息中間件相關的研發工作,對RabbitMQ、Kafka等有著自己獨特的理解。個人博客地址:blog.csdn./u013256816,筆名:朱小廝,歡迎各位讀者留言切磋探討。 序言
" |