Kafka權威指南

Kafka權威指南

《Kafka權威指南》是2018年人民郵電出版社出版的圖書,作者是薛命燈。

基本介紹

  • 書名:Kafka權威指南
  • 作者:妮哈·納克海德(Neha Narkhede)、格溫·沙皮拉(Gwen Shapira)、托德·帕利諾(Todd Palino)
  • ISBN:978-7-115-47327-1
  • 頁數:214
  • 定價:69元
  • 出版社:人民郵電出版社
  • 出版時間:2018-04
  • 裝幀:平裝
  • 開本:16開
圖書簡介,內容簡介,圖書目錄,

圖書簡介

《Kafka權威指南》是人民郵電出版社出版的一本圖書。

內容簡介

本書是關於Kafka的全面教程,主要內容包括:Kafka相對於其他訊息佇列系統的優點,主要是它如何匹配大數據平台開發;詳解Kafka內部設計;用Kafka構建套用的實踐;理解在生產中部署Kafka的方式;如何確保Kafka集群的安全。

圖書目錄

序 xiii
前言 xv
第 1 章 初識Kafka 1
1.1 發布與訂閱訊息系統 1
1.1.1 如何開始 2
1.1.2 獨立的佇列系統 3
1.2 Kafka登場 4
1.2.1 訊息和批次 4
1.2.2 模式 4
1.2.3 主題和分區 5
1.2.4 生產者和消費者 5
1.2.5 broker和集群 6
1.2.6 多集群 7
1.3 為什麼選擇Kafka 8
1.3.1 多個生產者 8
1.3.2 多個消費者 8
1.3.3 基於磁碟的數據存儲 9
1.3.4 伸縮性 9
1.3.5 高性能 9
1.4 數據生態系統 9
1.5 起源故事 11
1.5.1 LinkedIn的問題 11
1.5.2 Kafka的誕生 12
1.5.3 走向開源 12
1.5.4 命名 13
1.6 開始Kafka之旅 13
第 2 章 安裝Kafka 14
2.1 要事先行 14
2.1.1 選擇作業系統 14
2.1.2 安裝Java 14
2.1.3 安裝Zookeeper 15
2.2 安裝Kafka Broker 17
2.3 broker配置 18
2.3.1 常規配置 18
2.3.2 主題的默認配置 19
2.4 硬體的選擇 23
2.4.1 磁碟吞吐量 23
2.4.2 磁碟容量 23
2.4.3 記憶體 23
2.4.4 網路 24
2.4.5 CPU 24
2.5 雲端的Kafka 24
2.6 Kafka集群 24
2.6.1 需要多少個broker 25
2.6.2 broker 配置 25
2.6.3 作業系統調優 26
2.7 生產環境的注意事項 28
2.7.1 垃圾回收器選項 28
2.7.2 數據中心布局 29
2.7.3 共享Zookeeper 29
2.8 總結 30
第 3 章 Kafka生產者——向Kafka寫入數據 31
3.1 生產者概覽 32
3.2 創建Kafka生產者 33
3.3 傳送訊息到Kafka 34
3.3.1 同步傳送訊息 35
3.3.2 異步傳送訊息 35
3.4 生產者的配置 36
3.5 序列化器 39
3.5.1 自定義序列化器 39
3.5.2 使用Avro序列化 41
3.5.3 在Kafka里使用Avro 42
3.6 分區 45
3.7 舊版的生產者API 46
3.8 總結 47
第 4 章 Kafka消費者——從Kafka讀取數據 48
4.1 KafkaConsumer概念 48
4.1.1 消費者和消費者群組 48
4.1.2 消費者群組和分區再均衡 51
4.2 創建Kafka消費者 52
4.3 訂閱主題 53
4.4 輪詢 53
4.5 消費者的配置 55
4.6 提交和偏移量 57
4.6.1 自動提交 58
4.6.2 提交當前偏移量 59
4.6.3 異步提交 59
4.6.4 同步和異步組合提交 61
4.6.5 提交特定的偏移量 61
4.7 再均衡監聽器 62
4.8 從特定偏移量處開始處理記錄 64
4.9 如何退出 66
4.10 反序列化器 67
4.11 獨立消費者——為什麼以及怎樣使用沒有群組的消費者 71
4.12 舊版的消費者API 71
4.13 總結 72
第 5 章 深入Kafka 73
5.1 集群成員關係 73
5.2 控制器 74
5.3 複製 74
5.4 處理請求 76
5.4.1 生產請求 78
5.4.2 獲取請求 78
5.4.3 其他請求 80
5.5 物理存儲 81
5.5.1 分區分配 81
5.5.2 檔案管理 82
5.5.3 檔案格式 83
5.5.4 索引 84
5.5.5 清理 84
5.5.6 清理的工作原理 84
5.5.7 被刪除的事件 86
5.5.8 何時會清理主題 86
5.9 總結 86
第 6 章 可靠的數據傳遞 87
6.1 可靠性保證 87
6.2 複製 88
6.3 broker配置 89
6.3.1 複製係數 89
6.3.2 不完全的首領選舉 90
6.3.3 最少同步副本 91
6.4 在可靠的系統里使用生產者 92
6.4.1 傳送確認 92
6.4.2 配置生產者的重試參數 93
6.4.3 額外的錯誤處理 94
6.5 在可靠的系統里使用消費者 94
6.5.1 消費者的可靠性配置 95
6.5.2 顯式提交偏移量 95
6.6 驗證系統可靠性 97
6.6.1 配置驗證 98
6.6.2 應用程式驗證 98
6.6.3 在生產環境監控可靠性 99
6.7 總結 100
第 7 章 構建數據管道 101
7.1 構建數據管道時需要考慮的問題 102
7.1.1 及時性 102
7.1.2 可靠性 102
7.1.3 高吞吐量和動態吞吐量 103
7.1.4 數據格式 103
7.1.5 轉換 104
7.1.6 安全性 104
7.1.7 故障處理能力 104
7.1.8 耦合性和靈活性 105
7.2 如何在Connect API和客戶端API之間作出選擇 105
7.3 Kafka Connect 106
7.3.1 運行Connect 106
7.3.2 連線器示例——檔案數據源和檔案數據池 107
7.3.3 連線器示例——從MySQL到ElasticSearch 109
7.3.4 深入理解Connect 114
7.4 Connect之外的選擇 116
7.4.1 用於其他數據存儲的攝入框架 116
7.4.2 基於圖形界面的ETL工具 117
7.4.3 流式處理框架 117
7.5 總結 117
第 8 章 跨集群數據鏡像 118
8.1 跨集群鏡像的使用場景 118
8.2 多集群架構 119
8.2.1 跨數據中心通信的一些現實情況 119
8.2.2 Hub和Spoke架構 120
8.2.3 雙活架構 121
8.2.4 主備架構 123
8.2.5 延展集群 127
8.3 Kafka的MirrorMaker 128
8.3.1 如何配置 129
8.3.2 在生產環境部署MirrorMaker 130
8.3.3 MirrorMaker調優 132
8.4 其他跨集群鏡像方案 134
8.4.1 優步的uReplicator 134
8.4.2 Confluent的Replicator 135
8.5 總結 135
第 9 章 管理Kafka 136
9.1 主題操作 136
9.1.1 創建主題 137
9.1.2 增加分區 138
9.1.3 刪除主題 138
9.1.4 列出集群里的所有主題 139
9.1.5 列出主題詳細信息 139
9.2 消費者群組 140
9.2.1 列出並描述群組 140
9.2.2 刪除群組 142
9.2.3 偏移量管理 142
9.3 動態配置變更 143
9.3.1 覆蓋主題的默認配置 143
9.3.2 覆蓋客戶端的默認配置 145
9.3.3 列出被覆蓋的配置 145
9.3.4 移除被覆蓋的配置 146
9.4 分區管理 146
9.4.1 首選的首領選舉 146
9.4.2 修改分區副本 147
9.4.3 修改複製係數 150
9.4.4 轉儲日誌片段 151
9.4.5 副本驗證 152
9.5 消費和生產 153
9.5.1 控制台消費者 153
9.5.2 控制台生產者 155
9.6 客戶端ACL 157
9.7 不安全的操作 157
9.7.1 移動集群控制器 157
9.7.2 取消分區重分配 157
9.7.3 移除待刪除的主題 158
9.7.4 手動刪除主題 158
9.8 總結 159
第 10 章 監控Kafka 160
10.1 度量指標基礎 160
10.1.1 度量指標在哪裡 160
10.1.2 內部或外部度量 161
10.1.3 應用程式健康檢測 161
10.1.4 度量指標的覆蓋面 161
10.2 broker的度量指標 162
10.2.1 非同步分區 162
10.2.2 broker度量指標 166
10.2.3 主題和分區的度量指標 173
10.2.4 Java虛擬機監控 174
10.2.5 作業系統監控 175
10.2.6 日誌 176
10.3 客戶端監控 177
10.3.1 生產者度量指標 177
10.3.2 消費者度量指標 179
10.3.3 配額 181
10.4 延時監控 182
10.5 端到端監控 183
10.6 總結 183
第 11 章 流式處理 184
11.1 什麼是流式處理 185
11.2 流式處理的一些概念 186
11.2.1 時間 187
11.2.2 狀態 188
11.2.3 流和表的二元性 188
11.2.4 時間視窗 189
11.3 流式處理的設計模式 190
11.3.1 單個事件處理 191
11.3.2 使用本地狀態 191
11.3.3 多階段處理和重分區 193
11.3.4 使用外部查找——流和表的連線 193
11.3.5 流與流的連線 195
11.3.6 亂序的事件 195
11.3.7 重新處理 196
11.4 Streams示例 197
11.4.1 字數統計 197
11.4.2 股票市場統計 199
11.4.3 填充點擊事件流 201
11.5 Kafka Streams的架構概覽 202
11.5.1 構建拓撲 202
11.5.2 對拓撲進行伸縮 203
11.5.3 從故障中存活下來 205
11.6 流式處理使用場景 205
11.7 如何選擇流式處理框架 206
11.8 總結 208
附錄A 在其他作業系統上安裝Kafka 209
作者介紹 214
封面介紹 214

相關詞條

熱門詞條

聯絡我們