3dwoo大學簡體電腦書店
Kafka Streams實戰
( 簡體 字)
作者:[美]小威廉·P. 貝杰克(William P. Bejeck Jr.)類別:1. -> 程式設計 -> 綜合
出版社:人民郵電出版社Kafka Streams實戰 3dWoo書號: 51072
詢問書籍請說出此書號!
有庫存
NT售價: 345
出版日:5/1/2019
頁數:235
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787115507396 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
第 一部分 開啟Kafka Streams之旅
第 1章 歡迎來到Kafka Streams 3
1.1 大數據的發展以及它是如何改變程序設計方式的 3
1.1.1 大數據起源 4
1.1.2 MapReduce中的重要概念 5
1.1.3 批處理還不夠 7
1.2 流式處理簡介 8
1.3 處理購買交易 9
1.3.1 權衡流式處理的選擇 9
1.3.2 將需求解構為圖表 10
1.4 改變看待購買交易的視角 10
1.4.1 源節點 11
1.4.2 信用卡屏蔽節點 11
1.4.3 模式節點 11
1.4.4 獎勵節點 12
1.4.5 存儲節點 13
1.5 Kafka Streams在購買處理節點圖中的應用 13
1.6 Kafka Streams在購買交易流中的應用 14
1.6.1 定義源 15
1.6.2 第 一個處理器:屏蔽信用卡號碼 15
1.6.3 第二個處理器:購買模式 16
1.6.4 第三個處理器:客戶獎勵 17
1.6.5 第四個處理器:寫入購買記錄 18
1.7 小結 18
第 2章 Kafka快速指南 20
2.1 數據問題 20
2.2 使用Kafka處理數據 21
2.2.1 ZMart原始的數據平臺 21
2.2.2 一個Kafka銷售交易數據中心 22
2.3 Kafka架構 23
2.3.1 Kafka是一個消息代理 23
2.3.2 Kafka是一個日志 24
2.3.3 Kafka日志工作原理 25
2.3.4 Kafka和分區 25
2.3.5 分區按鍵對數據進行分組 26
2.3.6 編寫自定義分區器 27
2.3.7 指定一個自定義分區器 28
2.3.8 確定恰當的分區數 29
2.3.9 分布式日志 29
2.3.10 ZooKeeper:領導者、追隨者和副本 30
2.3.11 Apache ZooKeeper 31
2.3.12 選擇一個控制器 31
2.3.13 副本 31
2.3.14 控制器的職責 32
2.3.15 日志管理 33
2.3.16 日志刪除 33
2.3.17 日志壓縮 35
2.4 生產者發送消息 36
2.4.1 生產者屬性 38
2.4.2 指定分區和時間戳 39
2.4.3 指定分區 39
2.4.4 Kafka中的時間戳 40
2.5 消費者讀取消息 40
2.5.1 管理偏移量 41
2.5.2 自動提交偏移量 42
2.5.3 手動提交偏移量 42
2.5.4 創建消費者 43
2.5.5 消費者和分區 43
2.5.6 再平衡 43
2.5.7 更細粒度的消費者分配 44
2.5.8 消費者示例 44
2.6 安裝和運行Kafka 45
2.6.1 Kafka本地配置 45
2.6.2 運行Kafka 46
2.6.3 發送第 一條消息 47
2.7 小結 49
第二部分 Kafka Streams開發篇
第3章 開發Kafka Streams 53
3.1 流式處理器API 53
3.2 Kafka Streams的Hello World 54
3.2.1 構建“Yelling App”的拓撲 55
3.2.2 Kafka Streams配置 58
3.2.3 Serde的創建 59
3.3 處理客戶數據 60
3.3.1 構建一個拓撲 61
3.3.2 創建一個自定義的Serde 67
3.4 交互式開發 69
3.5 下一步 71
3.5.1 新需求 71
3.5.2 將記錄寫入Kafka之外 76
3.6 小結 78
第4章 流和狀態 79
4.1 事件的思考 79
4.2 將狀態操作應用到Kafka Stream 81
4.2.1 值轉換處理器 82
4.2.2 有狀態的客戶獎勵 82
4.2.3 初始化值轉換器 84
4.2.4 使用狀態將Purchase對象映射為Reward Accumulator 84
4.2.5 更新獎勵處理器 88
4.3 使用狀態存儲查找和記錄以前看到的數據 89
4.3.1 數據本地化 90
4.3.2 故障恢復和容錯 91
4.3.3 Kafka Streams使用狀態存儲 91
4.3.4 其他鍵/值存儲供應者 92
4.3.5 狀態存儲容錯 93
4.3.6 配置變更日志主題 93
4.4 連接流以增加洞察力 94
4.4.1 設置數據 95
4.4.2 生成包含客戶ID的鍵來執行連接 96
4.4.3 構建連接 98
4.4.4 其他連接選項 102
4.5 Kafka Streams中的時間戳 104
4.5.1 自帶的時間戳提取器實現類 105
4.5.2 WallclockTimestampExtractor 106
4.5.3 自定義時間戳提取器 106
4.5.4 指定一個時間戳提取器 107
4.6 小結 108
第5章 KTable API 109
5.1 流和表之間的關系 110
5.1.1 記錄流 110
5.1.2 更新記錄或變更日志 111
5.1.3 事件流與更新流對比 113
5.2 記錄更新和KTable配置 115
5.2.1 設置緩存緩沖大小 115
5.2.2 設置提交間隔 116
5.3 聚合和開窗操作 117
5.3.1 按行業匯總股票成交量 118
5.3.2 開窗操作 122
5.3.3 連接KStream和KTable 128
5.3.4 GlobalKTable 130
5.3.5 可查詢的狀態 133
5.4 小結 133
第6章 處理器API 135
6.1 更高階抽象與更多控制的權衡 135
6.2 使用源、處理器和接收器創建一個拓撲 136
6.2.1 添加一個源節點 136
6.2.2 添加一個處理器節點 137
6.2.3 增加一個接收器節點 140
6.3 通過股票分析處理器深入研究處理器API 141
6.3.1 股票表現處理器應用程序 142
6.3.2 process()方法 145
6.3.3 punctuator執行 147
6.4 組合處理器 148
6.5 集成處理器API和Kafka Streams API 158
6.6 小結 159
第三部分 管理Kafka Streams
第7章 監控和性能 163
7.1 Kafka基本監控 163
7.1.1 測評消費者和生產者性能 164
7.1.2 檢查消費滯后 165
7.1.3 攔截生產者和消費者 166
7.2 應用程序指標 169
7.2.1 指標配置 171
7.2.2 如何連接到收集到的指標 172
7.2.3 使用JMX 172
7.2.4 查看指標 176
7.3 更多Kafka Streams調試技術 177
7.3.1 查看應用程序的表現形式 177
7.3.2 獲取應用程序各種狀態的通知 178
7.3.3 使用狀態監聽器 179
7.3.4 狀態恢復監聽器 181
7.3.5 未捕獲的異常處理器 184
7.4 小結 184
第8章 測試Kafka Streams應用程序 185
8.1 測試拓撲 186
8.1.1 構建測試用例 188
8.1.2 測試拓撲中的狀態存儲 190
8.1.3 測試處理器和轉換器 191
8.2 集成測試 193
8.3 小結 199
第四部分 Kafka Streams進階
第9章 Kafka Streams的高級應用 203
9.1 將Kafka與其他數據源集成 204
9.1.1 使用Kafka Connect集成數據 205
9.1.2 配置Kafka Connect 205
9.1.3 轉換數據 207
9.2 替代數據庫 211
9.2.1 交互式查詢的工作原理 213
9.2.2 分配狀態存儲 213
9.2.3 創建和查找分布式狀態存儲 215
9.2.4 編寫交互式查詢 216
9.2.5 查詢服務器內部 218
9.3 KSQL 221
9.3.1 KSQL流和表 222
9.3.2 KSQL架構 222
9.3.3 安裝和運行KSQL 224
9.3.4 創建一個KSQL流 224
9.3.5 編寫KSQL查詢 226
9.3.6 創建一張KSQL表 227
9.3.7 配置KSQL 227
9.4 小結 228
附錄A 額外的配置信息 229
附錄B 精確一次處理語義 234
Kafka Streams是Kafka提供的一個用于構建流式處理程序的Java庫,它與Storm、Spark等流式處理框架不同,是一個僅依賴于Kafka的Java庫,而不是一個流式處理框架。除Kafka之外,Kafka Streams不需要額外的流式處理集群,提供了輕量級、易用的流式處理API。
本書包括4部分,共9章,從基礎API到復雜拓撲的應用,通過具體示例由淺入深地詳細介紹了Kafka Streams基礎知識及使用方法。本書的主要內容包含流式處理發展歷程和Kafka Streams工作原理的介紹,Kafka基礎知識的介紹,使用Kafka Streams實現一個具體流式處理應用程序,討論狀態存儲及其使用方法,討論表和流的二元性及使用場景,介紹Kafka Streams應用程序的監控及測試方法,介紹使用Kafka Connect將現有數據源集成到Kafka Streams中,使用KSQL進行交互式查詢等。
本書適合使用Kafka Streams實現流式處理應用的開發人員閱讀。
pagetop