Kafka 入門與實(shí)踐 版權(quán)信息
- ISBN:9787115469571
- 條形碼:9787115469571 ; 978-7-115-46957-1
- 裝幀:暫無
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
Kafka 入門與實(shí)踐 本書特色
《Kafka入門與實(shí)踐》以Kafka 0.10.1.1版本以基礎(chǔ),對Kafka的基本組件的實(shí)現(xiàn)細(xì)節(jié)及其基本應(yīng)用進(jìn)行了詳細(xì)介紹,同時,通過對Kafka與當(dāng)前大數(shù)據(jù)主流框架整合應(yīng)用案例的講解,進(jìn)一步展現(xiàn)了Kafka在實(shí)際業(yè)務(wù)中的作用和地位。本書共10章,按照從抽象到具體、從點(diǎn)到線再到面的學(xué)習(xí)思維模式,由淺入深,理論與實(shí)踐相結(jié)合,對Kafka進(jìn)行了分析講解。 《Kafka入門與實(shí)踐》中的大量實(shí)例來源于作者在實(shí)際工作中的實(shí)踐,具有現(xiàn)實(shí)指導(dǎo)意義。相信讀者閱讀完本書之后,能夠全面掌握Kafka的基本實(shí)現(xiàn)原理及其基本操作,能夠根據(jù)書中的案例舉一反三,解決實(shí)際工作和學(xué)習(xí)中的問題。此外,在閱讀本書時,讀者可以根據(jù)本書對Kafka理論的分析,再結(jié)合Kafka源碼進(jìn)行定位學(xué)習(xí),了解Kafka的設(shè)計(jì)和思想以及更多的編碼技巧。 《Kafka入門與實(shí)踐》適合應(yīng)用Kafka的專業(yè)技術(shù)人員閱讀,包括但不限于大數(shù)據(jù)相關(guān)應(yīng)用的開發(fā)者、運(yùn)維者和愛好者,也適合高等院校、培訓(xùn)結(jié)構(gòu)相關(guān)專業(yè)的師生使用。
Kafka 入門與實(shí)踐 內(nèi)容簡介
Kafka*初是由LinkedIn公司開發(fā)的消息系統(tǒng),現(xiàn)在已成為Apache的開源項(xiàng)目。早期版本的Kafka主要是作為一個分布式、可分區(qū)和具有副本的消息系統(tǒng),隨著版本的不斷迭代,在0.10.x版本之后Kafka已成為一個分布式流數(shù)據(jù)處理平臺,特別是Kafka Streams的出現(xiàn),使得Kafka對流數(shù)據(jù)處理變得更加簡單。 Kafka發(fā)展至今已具備很多特性,如分布式、高吞吐量、低延遲、高水平擴(kuò)展性、高容錯性等,也正是由于Kafka具備這些特性,使Kafka在大數(shù)據(jù)處理、日志收集、實(shí)時監(jiān)控、離線統(tǒng)計(jì)分析等應(yīng)用場景都被廣泛使用。 本書內(nèi)容按照從抽象到具體、從點(diǎn)到線再到面的學(xué)習(xí)思維模式進(jìn)行編排,由淺入深、理論與實(shí)踐相結(jié)合地對Kafka進(jìn)行了講解和分析。剖析Kafka實(shí)現(xiàn)原理時,Kafka核心組件各成一節(jié);講解Kafka基本操作及應(yīng)用實(shí)踐時,從簡單操作拓展到高級應(yīng)用。全書的各章之間沒有很強(qiáng)的依賴關(guān)系,讀者可以從其中任何一章開始閱讀。 本書雖適合作為入門書籍,但其內(nèi)容豐富又不失深度,既深入剖析了Kafka核心原理,又側(cè)重實(shí)際操作實(shí)戰(zhàn)。閱讀本書讀者不僅可以掌握如何應(yīng)用Kafka,更重要的是還可以了解Kafka性能優(yōu)化和Kafka相關(guān)功能改造方面的方法和理論。 本書是基于Kafka的0.10.1.1版本編寫的。
Kafka 入門與實(shí)踐 目錄
1.1 Kafka背景 1
1.2 Kafka基本結(jié)構(gòu) 2
1.3 Kafka基本概念 2
1.4 Kafka設(shè)計(jì)概述 6
1.4.1 Kafka設(shè)計(jì)動機(jī) 6
1.4.2 Kafka特性 6
1.4.3 Kafka應(yīng)用場景 8
1.5 本書導(dǎo)讀 9
1.6 小結(jié) 9
第2章 Kafka安裝配置 11
2.1 基礎(chǔ)環(huán)境配置 11
2.1.1 JDK安裝配置 11
2.1.2 SSH安裝配置 13
2.1.3 ZooKeeper環(huán)境 15
2.2 Kafka單機(jī)環(huán)境部署 18
2.2.1 Windows環(huán)境安裝Kafka 19
2.2.2 Linux環(huán)境安裝Kafka 19
2.3 Kafka偽分布式環(huán)境部署 21
2.4 Kafka集群環(huán)境部署 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導(dǎo)入Eclipse 30
2.7 小結(jié) 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 故障轉(zhuǎn)移 48
3.2.4 代理上線與下線 49
3.2.5 主題管理 51
3.2.6 分區(qū)管理 54
3.3 協(xié)調(diào)器 58
3.3.1 消費(fèi)者協(xié)調(diào)器 58
3.3.2 組協(xié)調(diào)器 60
3.4 網(wǎng)絡(luò)通信服務(wù) 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日志結(jié)構(gòu) 70
3.5.2 日志管理器啟動過程 77
3.5.3 日志加載及恢復(fù) 79
3.5.4 日志清理 80
3.6 副本管理器 84
3.6.1 分區(qū) 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 副本角色轉(zhuǎn)換 99
3.6.9 關(guān)閉副本 101
3.7 Handler 103
3.8 動態(tài)配置管理器 104
3.9 代理健康檢測 106
3.10 Kafka內(nèi)部監(jiān)控 107
3.11 小結(jié) 110
第4章 Kafka核心流程分析 111
4.1 KafkaServer啟動流程分析 111
4.2 創(chuàng)建主題流程分析 115
4.2.1 客戶端創(chuàng)建主題 115
4.2.2 分區(qū)副本分配 117
4.3 生產(chǎn)者 121
4.3.1 Eclipse運(yùn)行生產(chǎn)者源碼 121
4.3.2 生產(chǎn)者重要配置說明 123
4.3.3 OldProducer執(zhí)行流程 124
4.3.4 KafkaProducer實(shí)現(xiàn)原理 127
4.4 消費(fèi)者 140
4.4.1 舊版消費(fèi)者 140
4.4.2 KafkaConsumer初始化 140
4.4.3 消費(fèi)訂閱 144
4.4.4 消費(fèi)消息 145
4.4.5 消費(fèi)偏移量提交 149
4.4.6 心跳探測 150
4.4.7 分區(qū)數(shù)與消費(fèi)者線程的關(guān)系 151
4.4.8 消費(fèi)者平衡過程 153
4.5 小結(jié) 154
第5章 Kafka基本操作實(shí)戰(zhàn) 155
5.1 KafkaServer管理 155
5.1.1 啟動Kafka單個節(jié)點(diǎn) 155
5.1.2 啟動Kafka集群 159
5.1.3 關(guān)閉Kafka單個節(jié)點(diǎn) 160
5.1.4 關(guān)閉Kafka集群 161
5.2 主題管理 162
5.2.1 創(chuàng)建主題 162
5.2.2 刪除主題 164
5.2.3 查看主題 165
5.2.4 修改主題 166
5.3 生產(chǎn)者基本操作 168
5.3.1 啟動生產(chǎn)者 168
5.3.2 創(chuàng)建主題 169
5.3.3 查看消息 170
5.3.4 生產(chǎn)者性能測試工具 170
5.4 消費(fèi)者基本操作 174
5.4.1 消費(fèi)消息 174
5.4.2 單播與多播 179
5.4.3 查看消費(fèi)偏移量 181
5.4.4 消費(fèi)者性能測試工具 183
5.5 配置管理 183
5.5.1 主題級別配置 184
5.5.2 代理級別設(shè)置 185
5.5.3 客戶端/用戶級別配置 187
5.6 分區(qū)操作 188
5.6.1 分區(qū)Leader平衡 188
5.6.2 分區(qū)遷移 190
5.6.3 增加分區(qū) 194
5.6.4 增加副本 195
5.7 連接器基本操作 198
5.7.1 獨(dú)立模式 198
5.7.2 REST風(fēng)格API應(yīng)用 201
5.7.3 分布式模式 204
5.8 Kafka Manager應(yīng)用 209
5.9 Kafka安全機(jī)制 211
5.9.1 利用SASL/PLAIN進(jìn)行身份認(rèn)證 212
5.9.2 權(quán)限控制 215
5.10 鏡像操作 218
5.11 小結(jié) 219
第6章 Kafka API編程實(shí)戰(zhàn) 221
6.1 主題管理 222
6.1.1 創(chuàng)建主題 222
6.1.2 修改主題級別配置 223
6.1.3 增加分區(qū) 224
6.1.4 分區(qū)副本重分配 224
6.1.5 刪除主題 225
6.2 生產(chǎn)者API應(yīng)用 225
6.2.1 單線程生產(chǎn)者 226
6.2.2 多線程生產(chǎn)者 231
6.3 消費(fèi)者API應(yīng)用 233
6.3.1 舊版消費(fèi)者API應(yīng)用 233
6.3.2 新版消費(fèi)者API應(yīng)用 239
6.4 自定義組件實(shí)現(xiàn) 247
6.4.1 分區(qū)器 247
6.4.2 序列化與反序列化 249
6.5 Spring與Kafka整合應(yīng)用 257
6.5.1 生產(chǎn)者 259
6.5.2 消費(fèi)者 263
6.6 小結(jié) 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 處理器拓?fù)?268
7.2.4 時間 269
7.2.5 狀態(tài) 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 應(yīng)用描述 281
7.4.2 具體實(shí)現(xiàn) 282
7.5 小結(jié) 285
第8章 Kafka數(shù)據(jù)采集應(yīng)用 287
8.1 Log4j集成Kafka應(yīng)用 287
8.1.1 應(yīng)用描述 287
8.1.2 具體實(shí)現(xiàn) 287
8.2 Kafka與Flume整合應(yīng)用 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整合應(yīng)用 294
8.3.1 Hadoop安裝配置 295
8.3.2 Flume采集Kafka消息寫入HDFS 298
8.4 小結(jié) 301
第9章 Kafka與ELK整合應(yīng)用 303
9.1 ELK環(huán)境搭建 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消費(fèi)日志 310
9.3 日志采集分析系統(tǒng) 312
9.3.1 Flume采集日志配置 312
9.3.2 Logstash拉取日志配置 313
9.3.3 Kibana日志展示 314
9.4 服務(wù)器性能監(jiān)控系統(tǒng) 315
9.4.1 Metricbeat安裝 316
9.4.2 采集信息存儲到Elasticsearch 316
9.4.3 加載beats-dashboards 318
9.4.4 服務(wù)器性能監(jiān)控系統(tǒng)具體實(shí)現(xiàn) 318
9.5 小結(jié) 321
第10章 Kafka與Spark整合應(yīng)用 323
10.1 Spark簡介 323
10.2 Spark基本操作 324
10.2.1 Spark安裝 325
10.2.2 Spark shell應(yīng)用 326
10.2.3 spark-submit提交作業(yè) 327
10.3 Spark在智能投顧領(lǐng)域應(yīng)用 328
10.3.1 應(yīng)用描述 328
10.3.2 具體實(shí)現(xiàn) 329
10.4 熱搜詞統(tǒng)計(jì) 334
10.4.1 應(yīng)用描述 334
10.4.2 具體實(shí)現(xiàn) 335
10.5 小結(jié) 340
Kafka 入門與實(shí)踐 作者簡介
牟大恩,武漢大學(xué)碩士,曾先后在網(wǎng)易杭州研究院、掌門科技、優(yōu)酷土豆集團(tuán)擔(dān)任高級開發(fā)工程師和資深開發(fā)工程師職務(wù),目前就職于海通證券總部。有多年的Java開發(fā)及系統(tǒng)設(shè)計(jì)經(jīng)驗(yàn),專注于互聯(lián)網(wǎng)金融及大數(shù)據(jù)應(yīng)用相關(guān)領(lǐng)域。
- >
唐代進(jìn)士錄
- >
我與地壇
- >
羅曼·羅蘭讀書隨筆-精裝
- >
有舍有得是人生
- >
李白與唐代文化
- >
羅庸西南聯(lián)大授課錄
- >
二體千字文
- >
巴金-再思錄