幫助中心 | 我的帳號 | 關於我們

深入理解Kafka(核心設計與實踐原理)

  • 作者:朱忠華
  • 出版社:電子工業
  • ISBN:9787121359026
  • 出版日期:2019/01/01
  • 裝幀:平裝
  • 頁數:443
人民幣:RMB 99 元      售價:
放入購物車
加入收藏夾

內容大鋼
    朱忠華著的《深入理解Kafka(核心設計與實踐原理)》從Kafka的基礎概念切入,循序漸進地轉入對其內部原理的剖析。本書主要闡述了Kafka中生產者客戶端、消費者客戶端、主題與分區、日誌存儲、原理解析、監控管理、應用擴展及流式計算等內容。雖然Kafka的內核使用Scala語言編寫,但本書基本以Java語言作為主要的示例語言,方便大多數讀者的理解。雖然本書沒有明確的界定,但總體上可以劃分為三個部分:基礎篇、原理篇和擴展篇,前4章為基礎篇,包括基礎概念、生產者、消費者,以及主題與分區,學習完這4章的內容完全可以應對絕大多數的開發場景。第5章至第8章為原理篇,包括對日誌存儲、協議設計、控制器、組協調器、事務、一致性、可靠性等內容的探究,學習完這4章的內容可以讓讀者對Kafka有一個深刻的認知。最後4章從應用擴展層面來做講解,可以歸類為擴展篇,主要內容包括監控、應用工具、應用擴展(延時隊列、重試隊列、死信隊列、消息軌跡等)、與Spark的集成等,讓讀者可以對Kafka的生態有一個更加全面的認知。
    本書定位為一本實戰與原理相結合的書,既適合Kafka的初學者,也適合於對Kafka有一定深度認知的老手。

作者介紹
朱忠華
    朱忠華,目前主要從事消息中間件相關的研發工作,對RabbitMQ、Kafka等有著自己獨特的理解。

目錄
第1章  初識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  元數據的更新
  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.1  v0版本
    5.2.2  v1版本
    5.2.3  消息壓縮
    5.2.4  變長欄位
    5.2.5  v2版本
  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.1  broker.id
    6.5.2  bootstrap.servers
    6.5.3  服務端參數列表
  6.6  總結
第7章  深入客戶端
  7.1  分區分配策略
    7.1.1  RangeAssignor分配策略
    7.1.2  RoundRobinAssignor分配策略
    7.1.3  StickyAssignor分配策略
    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.2  ISR的伸縮
    8.1.3  LEO與HW
    8.1.4  Leader Epoch的介入
    8.1.5  為什麼不支持讀寫分離
  8.2  日誌同步機制
  8.3  可靠性分析
  8.4  總結
第9章  Kafka應用
  9.1  命令行工具
    9.1.1  消費組管理
    9.1.2  消費位移管理
    9.1.3  手動刪除消息
  9.2  Kafka Connect
    9.2.1  獨立模式
    9.2.2  REST API
    9.2.3  分散式模式
  9.3  Kafka Mirror Maker
  9.4  Kafka Streams
  9.5  總結
第10章  Kafka監控
  10.1  監控數據的來源
    10.1.1  OneMinuteRate
    10.1.2  獲取監控指標
  10.2  消費滯后
  10.3  同步失效分區
  10.4  監控指標說明
  10.5  監控模塊
  10.6  總結
第11章  高級應用
  11.1  過期時間(TTL)
  11.2  延時隊列
  11.3  死信隊列和重試隊列
  11.4  消息路由
  11.5  消息軌跡
  11.6  消息審計
  11.7  消息代理
    11.7.1  快速入門
    11.7.2  REST API介紹及示例
    11.7.3  服務端配置及部署
    11.7.4  應用思考
  11.8  消息中間件選型
    11.8.1  各類消息中間件簡述
    11.8.2  選型要點概述
    11.8.3  消息中間件選型誤區探討

  11.9  總結
第12章  Kafka與Spark的集成
  12.1  Spark的安裝及簡單應用
  12.2  Spark編程模型
  12.3  Spark的運行結構
  12.4  Spark Streaming簡介
  12.5  Kafka與Spark Streaming的整合
  12.6  Spark SQL
  12.7  Structured Streaming
  12.8  Kafka與Structured Streaming的整合
  12.9  總結
附錄A Kafka源碼環境搭建

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032