注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)Kafka Streams實(shí)戰(zhàn)

Kafka Streams實(shí)戰(zhàn)

Kafka Streams實(shí)戰(zhàn)

定 價(jià):¥69.00

作 者: [美] 小威廉·P.,貝杰克 著,牟大恩 譯
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787115507396 出版時(shí)間: 2019-05-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 235 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  Kafka Streams是Kafka提供的一個(gè)用于構(gòu)建流式處理程序的Java庫(kù),它與Storm、Spark等流式處理框架不同,是一個(gè)僅依賴于Kafka的Java庫(kù),而不是一個(gè)流式處理框架。除Kafka之外,Kafka Streams不需要額外的流式處理集群,提供了輕量級(jí)、易用的流式處理API。本書包括4部分,共9章,從基礎(chǔ)API到復(fù)雜拓?fù)涞膽?yīng)用,通過(guò)具體示例由淺入深地詳細(xì)介紹了Kafka Streams基礎(chǔ)知識(shí)及使用方法。本書的主要內(nèi)容包含流式處理發(fā)展歷程和Kafka Streams工作原理的介紹,Kafka基礎(chǔ)知識(shí)的介紹,使用Kafka Streams實(shí)現(xiàn)一個(gè)具體流式處理應(yīng)用程序,討論狀態(tài)存儲(chǔ)及其使用方法,討論表和流的二元性及使用場(chǎng)景,介紹Kafka Streams應(yīng)用程序的監(jiān)控及測(cè)試方法,介紹使用Kafka Connect將現(xiàn)有數(shù)據(jù)源集成到Kafka Streams中,使用KSQL進(jìn)行交互式查詢等。本書適合使用Kafka Streams實(shí)現(xiàn)流式處理應(yīng)用的開(kāi)發(fā)人員閱讀。

作者簡(jiǎn)介

  小威廉·P. 貝杰克(William P. Bejeck Jr.,本名Bill Bejeck)是Kafka Streams源碼貢獻(xiàn)者,在Conflument公司的Kafka Streams團(tuán)隊(duì)工作,有15年以上的軟件開(kāi)發(fā)經(jīng)驗(yàn),其中8年專注于后端開(kāi)發(fā),特別是處理大量數(shù)據(jù),在數(shù)據(jù)提煉團(tuán)隊(duì)中,使用Kafka來(lái)改善下游客戶的數(shù)據(jù)流。

圖書目錄

第 一部分 開(kāi)啟Kafka Streams之旅
第 1章 歡迎來(lái)到Kafka Streams 3
1.1 大數(shù)據(jù)的發(fā)展以及它是如何改變程序設(shè)計(jì)方式的 3
1.1.1 大數(shù)據(jù)起源 4
1.1.2 MapReduce中的重要概念 5
1.1.3 批處理還不夠 7
1.2 流式處理簡(jiǎn)介 8
1.3 處理購(gòu)買交易 9
1.3.1 權(quán)衡流式處理的選擇 9
1.3.2 將需求解構(gòu)為圖表 10
1.4 改變看待購(gòu)買交易的視角 10
1.4.1 源節(jié)點(diǎn) 11
1.4.2 信用卡屏蔽節(jié)點(diǎn) 11
1.4.3 模式節(jié)點(diǎn) 11
1.4.4 獎(jiǎng)勵(lì)節(jié)點(diǎn) 12
1.4.5 存儲(chǔ)節(jié)點(diǎn) 13
1.5 Kafka Streams在購(gòu)買處理節(jié)點(diǎn)圖中的應(yīng)用 13
1.6 Kafka Streams在購(gòu)買交易流中的應(yīng)用 14
1.6.1 定義源 15
1.6.2 第 一個(gè)處理器:屏蔽信用卡號(hào)碼 15
1.6.3 第二個(gè)處理器:購(gòu)買模式 16
1.6.4 第三個(gè)處理器:客戶獎(jiǎng)勵(lì) 17
1.6.5 第四個(gè)處理器:寫入購(gòu)買記錄 18
1.7 小結(jié) 18
第 2章 Kafka快速指南 20
2.1 數(shù)據(jù)問(wèn)題 20
2.2 使用Kafka處理數(shù)據(jù) 21
2.2.1 ZMart原始的數(shù)據(jù)平臺(tái) 21
2.2.2 一個(gè)Kafka銷售交易數(shù)據(jù)中心 22
2.3 Kafka架構(gòu) 23
2.3.1 Kafka是一個(gè)消息代理 23
2.3.2 Kafka是一個(gè)日志 24
2.3.3 Kafka日志工作原理 25
2.3.4 Kafka和分區(qū) 25
2.3.5 分區(qū)按鍵對(duì)數(shù)據(jù)進(jìn)行分組 26
2.3.6 編寫自定義分區(qū)器 27
2.3.7 指定一個(gè)自定義分區(qū)器 28
2.3.8 確定恰當(dāng)?shù)姆謪^(qū)數(shù) 29
2.3.9 分布式日志 29
2.3.10 ZooKeeper:領(lǐng)導(dǎo)者、追隨者和副本 30
2.3.11 Apache ZooKeeper 31
2.3.12 選擇一個(gè)控制器 31
2.3.13 副本 31
2.3.14 控制器的職責(zé) 32
2.3.15 日志管理 33
2.3.16 日志刪除 33
2.3.17 日志壓縮 35
2.4 生產(chǎn)者發(fā)送消息 36
2.4.1 生產(chǎn)者屬性 38
2.4.2 指定分區(qū)和時(shí)間戳 39
2.4.3 指定分區(qū) 39
2.4.4 Kafka中的時(shí)間戳 40
2.5 消費(fèi)者讀取消息 40
2.5.1 管理偏移量 41
2.5.2 自動(dòng)提交偏移量 42
2.5.3 手動(dòng)提交偏移量 42
2.5.4 創(chuàng)建消費(fèi)者 43
2.5.5 消費(fèi)者和分區(qū) 43
2.5.6 再平衡 43
2.5.7 更細(xì)粒度的消費(fèi)者分配 44
2.5.8 消費(fèi)者示例 44
2.6 安裝和運(yùn)行Kafka 45
2.6.1 Kafka本地配置 45
2.6.2 運(yùn)行Kafka 46
2.6.3 發(fā)送第 一條消息 47
2.7 小結(jié) 49
第二部分 Kafka Streams開(kāi)發(fā)篇
第3章 開(kāi)發(fā)Kafka Streams 53
3.1 流式處理器API 53
3.2 Kafka Streams的Hello World 54
3.2.1 構(gòu)建“Yelling App”的拓?fù)洹?5
3.2.2 Kafka Streams配置 58
3.2.3 Serde的創(chuàng)建 59
3.3 處理客戶數(shù)據(jù) 60
3.3.1 構(gòu)建一個(gè)拓?fù)洹?1
3.3.2 創(chuàng)建一個(gè)自定義的Serde 67
3.4 交互式開(kāi)發(fā) 69
3.5 下一步 71
3.5.1 新需求 71
3.5.2 將記錄寫入Kafka之外 76
3.6 小結(jié) 78
第4章 流和狀態(tài) 79
4.1 事件的思考 79
4.2 將狀態(tài)操作應(yīng)用到Kafka Stream 81
4.2.1 值轉(zhuǎn)換處理器 82
4.2.2 有狀態(tài)的客戶獎(jiǎng)勵(lì) 82
4.2.3 初始化值轉(zhuǎn)換器 84
4.2.4 使用狀態(tài)將Purchase對(duì)象映射為Reward Accumulator 84
4.2.5 更新獎(jiǎng)勵(lì)處理器 88
4.3 使用狀態(tài)存儲(chǔ)查找和記錄以前看到的數(shù)據(jù) 89
4.3.1 數(shù)據(jù)本地化 90
4.3.2 故障恢復(fù)和容錯(cuò) 91
4.3.3 Kafka Streams使用狀態(tài)存儲(chǔ) 91
4.3.4 其他鍵/值存儲(chǔ)供應(yīng)者 92
4.3.5 狀態(tài)存儲(chǔ)容錯(cuò) 93
4.3.6 配置變更日志主題 93
4.4 連接流以增加洞察力 94
4.4.1 設(shè)置數(shù)據(jù) 95
4.4.2 生成包含客戶ID的鍵來(lái)執(zhí)行連接 96
4.4.3 構(gòu)建連接 98
4.4.4 其他連接選項(xiàng) 102
4.5 Kafka Streams中的時(shí)間戳 104
4.5.1 自帶的時(shí)間戳提取器實(shí)現(xiàn)類 105
4.5.2 WallclockTimestampExtractor 106
4.5.3 自定義時(shí)間戳提取器 106
4.5.4 指定一個(gè)時(shí)間戳提取器 107
4.6 小結(jié) 108
第5章 KTable API 109
5.1 流和表之間的關(guān)系 110
5.1.1 記錄流 110
5.1.2 更新記錄或變更日志 111
5.1.3 事件流與更新流對(duì)比 113
5.2 記錄更新和KTable配置 115
5.2.1 設(shè)置緩存緩沖大小 115
5.2.2 設(shè)置提交間隔 116
5.3 聚合和開(kāi)窗操作 117
5.3.1 按行業(yè)匯總股票成交量 118
5.3.2 開(kāi)窗操作 122
5.3.3 連接KStream和KTable 128
5.3.4 GlobalKTable 130
5.3.5 可查詢的狀態(tài) 133
5.4 小結(jié) 133
第6章 處理器API 135
6.1 更高階抽象與更多控制的權(quán)衡 135
6.2 使用源、處理器和接收器創(chuàng)建一個(gè)拓?fù)洹?36
6.2.1 添加一個(gè)源節(jié)點(diǎn) 136
6.2.2 添加一個(gè)處理器節(jié)點(diǎn) 137
6.2.3 增加一個(gè)接收器節(jié)點(diǎn) 140
6.3 通過(guò)股票分析處理器深入研究處理器API 141
6.3.1 股票表現(xiàn)處理器應(yīng)用程序 142
6.3.2 process()方法 145
6.3.3 punctuator執(zhí)行 147
6.4 組合處理器 148
6.5 集成處理器API和Kafka Streams API 158
6.6 小結(jié) 159
第三部分 管理Kafka Streams
第7章 監(jiān)控和性能 163
7.1 Kafka基本監(jiān)控 163
7.1.1 測(cè)評(píng)消費(fèi)者和生產(chǎn)者性能 164
7.1.2 檢查消費(fèi)滯后 165
7.1.3 攔截生產(chǎn)者和消費(fèi)者 166
7.2 應(yīng)用程序指標(biāo) 169
7.2.1 指標(biāo)配置 171
7.2.2 如何連接到收集到的指標(biāo) 172
7.2.3 使用JMX 172
7.2.4 查看指標(biāo) 176
7.3 更多Kafka Streams調(diào)試技術(shù) 177
7.3.1 查看應(yīng)用程序的表現(xiàn)形式 177
7.3.2 獲取應(yīng)用程序各種狀態(tài)的通知 178
7.3.3 使用狀態(tài)監(jiān)聽(tīng)器 179
7.3.4 狀態(tài)恢復(fù)監(jiān)聽(tīng)器 181
7.3.5 未捕獲的異常處理器 184
7.4 小結(jié) 184
第8章 測(cè)試Kafka Streams應(yīng)用程序 185
8.1 測(cè)試拓?fù)洹?86
8.1.1 構(gòu)建測(cè)試用例 188
8.1.2 測(cè)試拓?fù)渲械臓顟B(tài)存儲(chǔ) 190
8.1.3 測(cè)試處理器和轉(zhuǎn)換器 191
8.2 集成測(cè)試 193
8.3 小結(jié) 199
第四部分 Kafka Streams進(jìn)階
第9章 Kafka Streams的高級(jí)應(yīng)用 203
9.1 將Kafka與其他數(shù)據(jù)源集成 204
9.1.1 使用Kafka Connect集成數(shù)據(jù) 205
9.1.2 配置Kafka Connect 205
9.1.3 轉(zhuǎn)換數(shù)據(jù) 207
9.2 替代數(shù)據(jù)庫(kù) 211
9.2.1 交互式查詢的工作原理 213
9.2.2 分配狀態(tài)存儲(chǔ) 213
9.2.3 創(chuàng)建和查找分布式狀態(tài)存儲(chǔ) 215
9.2.4 編寫交互式查詢 216
9.2.5 查詢服務(wù)器內(nèi)部 218
9.3 KSQL 221
9.3.1 KSQL流和表 222
9.3.2 KSQL架構(gòu) 222
9.3.3 安裝和運(yùn)行KSQL 224
9.3.4 創(chuàng)建一個(gè)KSQL流 224
9.3.5 編寫KSQL查詢 226
9.3.6 創(chuàng)建一張KSQL表 227
9.3.7 配置KSQL 227
9.4 小結(jié) 228
附錄A 額外的配置信息 229
附錄B 精確一次處理語(yǔ)義 234

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)