Kafka源碼解析與實戰

Kafka源碼解析與實戰

《Kafka源碼解析與實戰》是2017年機械工業出版社出版的圖書,作者是王亮 。

基本介紹

  • 書名:Kafka源碼解析與實戰
  • 作者:王亮
  • 出版社:機械工業出版社
  • 出版時間:2017年12月1日
  • ISBN:9787111584018
內容簡介,圖書目錄,作者簡介,

內容簡介

本書系統介紹Kafka的實現原理和套用方法,並介紹Kafka的運維工具、客戶端編程方法和第三方集成方式,深入淺出、圖文並茂、分析透徹。本書共10章,主要內容包括:第1章介紹Kafka誕生的背景和主要涉及目標。第2章介紹Kafka的基本組成、拓撲結構以及內部的通信協定。第3章介紹Broker Server及內部的模組組成。第4章介紹Broker Server內部的九大基本模組。第5章介紹Broker的控制管理模組。第6章介紹Topic的管理工具。第7章從設計原則、示例代碼、模組組成和傳送模式四個方面介紹有關訊息生產者的相關知識。第8章介紹兩種消費者:簡單消費者和高級消費者。第9章介紹Kafka的典型套用,包括與Storm、ELK、Hadoop、Spark典型大數據系統的集成。第10章介紹了一個綜合實例,描述Kafka作為數據匯流排在安防整體解決方案中的作用。

圖書目錄

前言
第1章 Kafka簡介 1
1.1 Kafka誕生的背景 1
1.2 Kafka在LinkedIn內部的套用 3
1.3 Kafka的主要設計目標 4
1.4 為什麼使用訊息系統 4
1.5 本章小結 5
第2章 Kafka的架構 6
2.1 Kafka的基本組成 6
2.2 Kafka的拓撲結構 8
2.3 Kafka內部的通信協定 9
2.4 本章小結 12
第3章 Broker概述 13
3.1 Broker的啟動 13
3.2 Broker內部的模組組成 15
3.3 本章小結 18
第4章 Broker的基本模組 19
4.1 SocketServer 19
4.2 KafkaRequestHandlerPool 25
4.3 KafkaApis 27
4.3.1 LogManager 27
4.3.2 ReplicaManager 37
4.3.3 OffsetManager 47
4.3.4 KafkaScheduler 51
4.3.5 KafkaApis 52
4.4 KafkaHealthcheck 81
4.5 TopicConf?igManager 83
4.6 本章小結 85
第5章 Broker的控制管理模組 86
5.1 KafkaController的選舉策略 86
5.2 KafkaController的初始化 91
5.2.1 Leader狀態下KafkaController的初始化 91
5.2.2 Standby狀態下KafkaController的初始化 94
5.3 Topic的分區狀態轉換機制 95
5.3.1 分區狀態的分類 95
5.3.2 分區狀態的轉換 96
5.3.3 PartitionStateMachine模組的啟動 102
5.4 Topic分區的領導者副本選舉策略 103
5.4.1 NoOpLeaderSelector 104
5.4.2 Off?linePartitionLeaderSelector 104
5.4.3 ReassignedPartitionLeader-Selector 106
5.4.4 PreferredReplicaPartition-LeaderSelector 107
5.4.5 ControlledShutdownLeader-Selector 108
5.5 Topic分區的副本狀態轉換機制 109
5.5.1 副本狀態的分類 110
5.5.2 副本狀態的轉換 111
5.5.3 ReplicaStateMachine模組的啟動 117
5.6 KafkaController內部的監聽器 118
5.6.1 TopicChangeListener 119
5.6.2 AddPartitionsListener 121
5.6.3 PartitionsReassignedListener 122
5.6.4 ReassignedPartitionsIsr-ChangeListener 128
5.6.5 PreferredReplicaElection-Listener 130
5.6.6 BrokerChangeListener 132
5.6.7 DeleteTopicsListener 135
5.7 Kafka集群的負載均衡流程 136
5.8 Kafka集群的Topic刪除流程 140
5.9 KafkaController的通信模組 146
5.10 本章小結 150
第6章 Topic的管理工具 151
6.1 kafka-topics.sh 151
6.1.1 createTopic 153
6.1.2 alterTopic 156
6.1.3 listTopics 160
6.1.4 describeTopic 161
6.1.5 deleteTopic 163
6.2 kafka-reassign-partitions.sh 164
6.2.1 generateAssignment 166
6.2.2 executeAssignment 167
6.2.3 verifyAssignment 170
6.3 kafka-preferred-replica-election.sh 172
6.4 本章小結 175
第7章 生產者 176
7.1 設計原則 176
7.2 示例代碼 176
7.3 模組組成 180
7.3.1 ProducerSendThread 180
7.3.2 ProducerPool 182
7.3.3 DefaultEventHandler 184
7.4 傳送模式 189
7.4.1 同步模式 189
7.4.2 異步模式 189
7.5 本章小結 192
第8章 消費者 193
8.1 簡單消費者 193
8.1.1 設計原則 193
8.1.2 消費者流程 194
8.1.3 示例代碼 195
8.1.4 原理解析 200
8.2 高級消費者 202
8.2.1 設計原則 202
8.2.2 消費者流程 203
8.2.3 示例代碼 204
8.2.4 原理解析 205
8.3 本章小結 227
第9章 Kafka的典型套用 228
9.1 Kafka和Storm的集成 228
9.1.1 Storm簡介 228
9.1.2 示例代碼 230
9.2 Kafka和ELK的集成 235
9.2.1 ELK簡介 235
9.2.2 配置流程 236
9.3 Kafka和Hadoop的集成 237
9.3.1 Hadoop簡介 237
9.3.2 示例代碼 239
9.4 Kafka和Spark的集成 242
9.4.1 Spark簡介 242
9.4.2 示例代碼 245
9.5 本章小結 247
第10章 Kafka的綜合實例 248
10.1 安防大數據的主要套用 248
10.2 Kafka在安防整體解決方案中的角色 249
10.3 典型業務 250
10.3.1 車輛人臉圖片數據的入庫 251
10.3.2 視頻數據的入庫 252
10.3.3 數據延時的監控 254
10.3.4 數據質量的監控 256
10.3.5 布控統計 258
10.3.6 容災備份 259
10.4 本章小結 260

作者簡介

王亮 ,資深架構師,曾在華為擔任虛擬化技術工程師,後加入大華公司任分散式資料庫系統架構師,研究興趣為分散式存儲、分散式資料庫、訊息系統等。

相關詞條

熱門詞條

聯絡我們