Kafka入門與實踐

《Kafka入門與實踐》是人民郵電出版社出版的一本圖書。

內容簡介

《Kafka入門與實踐》以Kafka 0.10.1.1版本以基礎,對Kafka的基本組件的實現細節及其基本套用進行了詳細介紹,同時,通過對Kafka與當前大數據主流框架整合套用案例的講解,進一步展現了Kafka在實際業務中的作用和地位。本書共10章,按照從抽象到具體、從點到線再到面的學習思維模式,由淺入深,理論與實踐相結合,對Kafka進行了分析講解。

圖書目錄

第 1章 Kafka簡介 1

1.1 Kafka背景 1

1.2 Kafka基本結構 2

1.3 Kafka基本概念 2

1.4 Kafka設計概述 6

1.4.1 Kafka設計動機 6

1.4.2 Kafka特性 6

1.4.3 Kafka套用場景 8

1.5 本書導讀 9

1.6 小結 9

第 2章 Kafka安裝配置 11

2.1 基礎環境配置 11

2.1.1 JDK安裝配置 11

2.1.2 SSH安裝配置 13

2.1.3 ZooKeeper環境 15

2.2 Kafka單機環境部署 18

2.2.1 Windows環境安裝Kafka 19

2.2.2 Linux環境安裝Kafka 19

2.3 Kafka偽分散式環境部署 21

2.4 Kafka集群環境部署 22

2.5 Kafka Manager安裝 22

2.6 Kafka源碼編譯 25

2.6.1 Scala安裝配置 25

2.6.2 Gradle安裝配置 26

2.6.3 Kafka源碼編譯 26

2.6.4 Kafka導入Eclipse 30

2.7 小結 31

第3章 Kafka核心組件 33

3.1 延遲操作組件 33

3.1.1 DelayedOperation 33

3.1.2 DelayedOperationPurgatory 35

3.1.3 DelayedProduce 36

3.1.4 DelayedFetch 38

3.1.5 DelayedJoin 38

3.1.6 DelayedHeartbeat 39

3.1.7 DelayedCreateTopics 40

3.2 控制器 40

3.2.1 控制器初始化 41

3.2.2 控制器選舉過程 46

3.2.3 故障轉移 48

3.2.4 代理上線與下線 49

3.2.5 主題管理 51

3.2.6 分區管理 54

3.3 協調器 58

3.3.1 消費者協調器 58

3.3.2 組協調器 60

3.4 網路通信服務 64

3.4.1 Acceptor 65

3.4.2 Processor 66

3.4.3 RequestChannel 68

3.4.4 SocketServer啟動過程 69

3.5 日誌管理器 70

3.5.1 Kafka日誌結構 70

3.5.2 日誌管理器啟動過程 77

3.5.3 日誌載入及恢復 79

3.5.4 日誌清理 80

3.6 副本管理器 84

3.6.1 分區 86

3.6.2 副本 88

3.6.3 副本管理器啟動過程 89

3.6.4 副本過期檢查 90

3.6.5 追加訊息 92

3.6.6 拉取訊息 95

3.6.7 副本同步過程 97

3.6.8 副本角色轉換 99

3.6.9 關閉副本 101

3.7 Handler 103

3.8 動態配置管理器 104

3.9 代理健康檢測 106

3.10 Kafka內部監控 107

3.11 小結 110

第4章 Kafka核心流程分析 111

4.1 KafkaServer啟動流程分析 111

4.2 創建主題流程分析 115

4.2.1 客戶端創建主題 115

4.2.2 分區副本分配 117

4.3 生產者 121

4.3.1 Eclipse運行生產者源碼 121

4.3.2 生產者重要配置說明 123

4.3.3 OldProducer執行流程 124

4.3.4 KafkaProducer實現原理 127

4.4 消費者 140

4.4.1 舊版消費者 140

4.4.2 KafkaConsumer初始化 140

4.4.3 消費訂閱 144

4.4.4 消費訊息 145

4.4.5 消費偏移量提交 149

4.4.6 心跳探測 150

4.4.7 分區數與消費者執行緒的關係 151

4.4.8 消費者平衡過程 153

4.5 小結 154

第5章 Kafka基本操作實戰 155

5.1 KafkaServer管理 155

5.1.1 啟動Kafka單個節點 155

5.1.2 啟動Kafka集群 159

5.1.3 關閉Kafka單個節點 160

5.1.4 關閉Kafka集群 161

5.2 主題管理 162

5.2.1 創建主題 162

5.2.2 刪除主題 164

5.2.3 查看主題 165

5.2.4 修改主題 166

5.3 生產者基本操作 168

5.3.1 啟動生產者 168

5.3.2 創建主題 169

5.3.3 查看訊息 170

5.3.4 生產者性能測試工具 170

5.4 消費者基本操作 174

5.4.1 消費訊息 174

5.4.2 單播與多播 179

5.4.3 查看消費偏移量 181

5.4.4 消費者性能測試工具 183

5.5 配置管理 183

5.5.1 主題級別配置 184

5.5.2 代理級別設定 185

5.5.3 客戶端/用戶級別配置 187

5.6 分區操作 188

5.6.1 分區Leader平衡 188

5.6.2 分區遷移 190

5.6.3 增加分區 194

5.6.4 增加副本 195

5.7 連線器基本操作 198

5.7.1 獨立模式 198

5.7.2 REST風格API套用 201

5.7.3 分散式模式 204

5.8 Kafka Manager套用 209

5.9 Kafka安全機制 211

5.9.1 利用SASL/PLAIN進行身份認證 212

5.9.2 許可權控制 215

5.10 鏡像操作 218

5.11 小結 219

第6章 Kafka API編程實戰 221

6.1 主題管理 222

6.1.1 創建主題 222

6.1.2 修改主題級別配置 223

6.1.3 增加分區 224

6.1.4 分區副本重分配 224

6.1.5 刪除主題 225

6.2 生產者API套用 225

6.2.1 單執行緒生產者 226

6.2.2 多執行緒生產者 231

6.3 消費者API套用 233

6.3.1 舊版消費者API套用 233

6.3.2 新版消費者API套用 239

6.4 自定義組件實現 247

6.4.1 分區器 247

6.4.2 序列化與反序列化 249

6.5 Spring與Kafka整合套用 257

6.5.1 生產者 259

6.5.2 消費者 263

6.6 小結 266

第7章 Kafka Streams 267

7.1 Kafka Streams簡介 267

7.2 Kafka Streams基本概念 268

7.2.1 流 268

7.2.2 流處理器 268

7.2.3 處理器拓撲 268

7.2.4 時間 269

7.2.5 狀態 270

7.2.6 KStream和KTable 270

7.2.7 視窗 271

7.3 Kafka Streams API介紹 272

7.3.1 KStream與KTable 272

7.3.2 視窗操作 274

7.3.3 連線操作 275

7.3.4 變換操作 277

7.3.5 聚合操作 279

7.4 接口惡意訪問自動檢測 281

7.4.1 套用描述 281

7.4.2 具體實現 282

7.5 小結 285

第8章 Kafka數據採集套用 287

8.1 Log4j集成Kafka套用 287

8.1.1 套用描述 287

8.1.2 具體實現 287

8.2 Kafka與Flume整合套用 289

8.2.1 Flume簡介 290

8.2.2 Flume與Kafka比較 291

8.2.3 Flume的安裝配置 291

8.2.4 Flume採集日誌寫入Kafka 293

8.3 Kafka與Flume和HDFS整合套用 294

8.3.1 Hadoop安裝配置 295

8.3.2 Flume採集Kafka訊息寫入HDFS 298

8.4 小結 301

第9章 Kafka與ELK整合套用 303

9.1 ELK環境搭建 304

9.1.1 Elasticsearch安裝配置 304

9.1.2 Logstash安裝配置 307

9.1.3 Kibana安裝配置 308

9.2 Kafka與Logstash整合 309

9.2.1 Logstash收集日誌到Kafka 309

9.2.2 Logstash從Kafka消費日誌 310

9.3 日誌採集分析系統 312

9.3.1 Flume採集日誌配置 312

9.3.2 Logstash拉取日誌配置 313

9.3.3 Kibana日誌展示 314

9.4 伺服器性能監控系統 315

9.4.1 Metricbeat安裝 316

9.4.2 採集信息存儲到Elasticsearch 316

9.4.3 載入beats-dashboards 318

9.4.4 伺服器性能監控系統具體實現 318

9.5 小結 321

第 10章 Kafka與Spark整合套用 323

10.1 Spark簡介 323

10.2 Spark基本操作 324

10.2.1 Spark安裝 325

10.2.2 Spark shell套用 326

10.2.3 spark-submit提交作業 327

10.3 Spark在智慧型投顧領域套用 328

10.3.1 套用描述 328

10.3.2 具體實現 329

10.4 熱搜詞統計 334

10.4.1 套用描述 334

10.4.2 具體實現 335

10.5 小結 340

相關詞條

相關搜尋

熱門詞條

聯絡我們