-
>
決戰(zhàn)行測(cè)5000題(言語(yǔ)理解與表達(dá))
-
>
軟件性能測(cè)試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
深度學(xué)習(xí)
-
>
Unreal Engine 4藍(lán)圖完全學(xué)習(xí)教程
-
>
深入理解計(jì)算機(jī)系統(tǒng)-原書(shū)第3版
-
>
Word/Excel PPT 2013辦公應(yīng)用從入門(mén)到精通-(附贈(zèng)1DVD.含語(yǔ)音視頻教學(xué)+辦公模板+PDF電子書(shū))
Kafka權(quán)威指南 版權(quán)信息
- ISBN:9787115473271
- 條形碼:9787115473271 ; 978-7-115-47327-1
- 裝幀:暫無(wú)
- 冊(cè)數(shù):暫無(wú)
- 重量:暫無(wú)
- 所屬分類(lèi):>>
Kafka權(quán)威指南 本書(shū)特色
本書(shū)是關(guān)于Kafka的全面教程,主要內(nèi)容包括:Kafka相對(duì)于其他消息隊(duì)列系統(tǒng)的優(yōu)點(diǎn),主要是它如何匹配大數(shù)據(jù)平臺(tái)開(kāi)發(fā);詳解Kafka內(nèi)部設(shè)計(jì);用Kafka構(gòu)建應(yīng)用的實(shí)踐;理解在生產(chǎn)中部署Kafka的方式;如何確保Kafka集群的安全。 本書(shū)適合Java開(kāi)發(fā)人員、大數(shù)據(jù)平臺(tái)開(kāi)發(fā)人員以及對(duì)分布式系統(tǒng)感興趣的讀者閱讀。
Kafka權(quán)威指南 內(nèi)容簡(jiǎn)介
每個(gè)應(yīng)用程序都會(huì)產(chǎn)生數(shù)據(jù),包括日志消息、度量指標(biāo)、用戶(hù)活動(dòng)記錄、響應(yīng)消息等。如何移動(dòng)數(shù)據(jù),幾乎變得與數(shù)據(jù)本身一樣重要。如果你是架構(gòu)師、產(chǎn)品工程師,同時(shí)也是Apache Kafka新手,那么這本實(shí)踐指南將會(huì)幫助你成為流式平臺(tái)上處理實(shí)時(shí)數(shù)據(jù)的專(zhuān)家。 本書(shū)由出身于LinkedIn的Kafka核心作者和一線(xiàn)技術(shù)人員共同執(zhí)筆,詳細(xì)介紹了如何部署Kafka集群、開(kāi)發(fā)可靠的基于事件驅(qū)動(dòng)的微服務(wù),以及基于Kafka平臺(tái)構(gòu)建可伸縮的流式應(yīng)用程序。通過(guò)詳盡示例,你將會(huì)了解到Kafka的設(shè)計(jì)原則、可靠性保證、關(guān)鍵API,以及復(fù)制協(xié)議、控制器和存儲(chǔ)層等架構(gòu)細(xì)節(jié)。 ● 了解發(fā)布和訂閱消息模型以及該模型如何被應(yīng)用在大數(shù)據(jù)生態(tài)系統(tǒng)中 ● 學(xué)習(xí)使用Kafka生產(chǎn)者和消費(fèi)者來(lái)生成消息和讀取消息 ● 了解Kafka保證可靠性數(shù)據(jù)傳遞的模式和場(chǎng)景需求 ● 使用Kafka構(gòu)建數(shù)據(jù)管道和應(yīng)用程序的實(shí)踐 ● 在生產(chǎn)環(huán)境中管理Kafka,包括監(jiān)控、調(diào)優(yōu)和維護(hù) ● 了解Kafka的關(guān)鍵度量指標(biāo) ● 探索Kafka如何成為流式處理利器
Kafka權(quán)威指南 目錄
前言 xv
第 1 章 初識(shí)Kafka 1
1.1 發(fā)布與訂閱消息系統(tǒng) 1
1.1.1 如何開(kāi)始 2
1.1.2 獨(dú)立的隊(duì)列系統(tǒng) 3
1.2 Kafka登場(chǎng) 4
1.2.1 消息和批次 4
1.2.2 模式 4
1.2.3 主題和分區(qū) 5
1.2.4 生產(chǎn)者和消費(fèi)者 5
1.2.5 broker和集群 6
1.2.6 多集群 7
1.3 為什么選擇Kafka 8
1.3.1 多個(gè)生產(chǎn)者 8
1.3.2 多個(gè)消費(fèi)者 8
1.3.3 基于磁盤(pán)的數(shù)據(jù)存儲(chǔ) 9
1.3.4 伸縮性 9
1.3.5 高性能 9
1.4 數(shù)據(jù)生態(tài)系統(tǒng) 9
1.5 起源故事 11
1.5.1 LinkedIn的問(wèn)題 11
1.5.2 Kafka的誕生 12
1.5.3 走向開(kāi)源 12
1.5.4 命名 13
1.6 開(kāi)始Kafka之旅 13
第 2 章 安裝Kafka 14
2.1 要事先行 14
2.1.1 選擇操作系統(tǒng) 14
2.1.2 安裝Java 14
2.1.3 安裝Zookeeper 15
2.2 安裝Kafka Broker 17
2.3 broker配置 18
2.3.1 常規(guī)配置 18
2.3.2 主題的默認(rèn)配置 19
2.4 硬件的選擇 23
2.4.1 磁盤(pán)吞吐量 23
2.4.2 磁盤(pán)容量 23
2.4.3 內(nèi)存 23
2.4.4 網(wǎng)絡(luò) 24
2.4.5 CPU 24
2.5 云端的Kafka 24
2.6 Kafka集群 24
2.6.1 需要多少個(gè)broker 25
2.6.2 broker 配置 25
2.6.3 操作系統(tǒng)調(diào)優(yōu) 26
2.7 生產(chǎn)環(huán)境的注意事項(xiàng) 28
2.7.1 垃圾回收器選項(xiàng) 28
2.7.2 數(shù)據(jù)中心布局 29
2.7.3 共享Zookeeper 29
2.8 總結(jié) 30
第 3 章 Kafka生產(chǎn)者——向Kafka寫(xiě)入數(shù)據(jù) 31
3.1 生產(chǎn)者概覽 32
3.2 創(chuàng)建Kafka生產(chǎn)者 33
3.3 發(fā)送消息到Kafka 34
3.3.1 同步發(fā)送消息 35
3.3.2 異步發(fā)送消息 35
3.4 生產(chǎn)者的配置 36
3.5 序列化器 39
3.5.1 自定義序列化器 39
3.5.2 使用Avro序列化 41
3.5.3 在Kafka里使用Avro 42
3.6 分區(qū) 45
3.7 舊版的生產(chǎn)者API 46
3.8 總結(jié) 47
第 4 章 Kafka消費(fèi)者——從Kafka讀取數(shù)據(jù) 48
4.1 KafkaConsumer概念 48
4.1.1 消費(fèi)者和消費(fèi)者群組 48
4.1.2 消費(fèi)者群組和分區(qū)再均衡 51
4.2 創(chuàng)建Kafka消費(fèi)者 52
4.3 訂閱主題 53
4.4 輪詢(xún) 53
4.5 消費(fèi)者的配置 55
4.6 提交和偏移量 57
4.6.1 自動(dòng)提交 58
4.6.2 提交當(dāng)前偏移量 59
4.6.3 異步提交 59
4.6.4 同步和異步組合提交 61
4.6.5 提交特定的偏移量 61
4.7 再均衡監(jiān)聽(tīng)器 62
4.8 從特定偏移量處開(kāi)始處理記錄 64
4.9 如何退出 66
4.10 反序列化器 67
4.11 獨(dú)立消費(fèi)者——為什么以及怎樣使用沒(méi)有群組的消費(fèi)者 71
4.12 舊版的消費(fèi)者API 71
4.13 總結(jié) 72
第 5 章 深入Kafka 73
5.1 集群成員關(guān)系 73
5.2 控制器 74
5.3 復(fù)制 74
5.4 處理請(qǐng)求 76
5.4.1 生產(chǎn)請(qǐng)求 78
5.4.2 獲取請(qǐng)求 78
5.4.3 其他請(qǐng)求 80
5.5 物理存儲(chǔ) 81
5.5.1 分區(qū)分配 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 何時(shí)會(huì)清理主題 86
5.9 總結(jié) 86
第 6 章 可靠的數(shù)據(jù)傳遞 87
6.1 可靠性保證 87
6.2 復(fù)制 88
6.3 broker配置 89
6.3.1 復(fù)制系數(shù) 89
6.3.2 不完全的首領(lǐng)選舉 90
6.3.3 *少同步副本 91
6.4 在可靠的系統(tǒng)里使用生產(chǎn)者 92
6.4.1 發(fā)送確認(rèn) 92
6.4.2 配置生產(chǎn)者的重試參數(shù) 93
6.4.3 額外的錯(cuò)誤處理 94
6.5 在可靠的系統(tǒng)里使用消費(fèi)者 94
6.5.1 消費(fèi)者的可靠性配置 95
6.5.2 顯式提交偏移量 95
6.6 驗(yàn)證系統(tǒng)可靠性 97
6.6.1 配置驗(yàn)證 98
6.6.2 應(yīng)用程序驗(yàn)證 98
6.6.3 在生產(chǎn)環(huán)境監(jiān)控可靠性 99
6.7 總結(jié) 100
第 7 章 構(gòu)建數(shù)據(jù)管道 101
7.1 構(gòu)建數(shù)據(jù)管道時(shí)需要考慮的問(wèn)題 102
7.1.1 及時(shí)性 102
7.1.2 可靠性 102
7.1.3 高吞吐量和動(dòng)態(tài)吞吐量 103
7.1.4 數(shù)據(jù)格式 103
7.1.5 轉(zhuǎn)換 104
7.1.6 安全性 104
7.1.7 故障處理能力 104
7.1.8 耦合性和靈活性 105
7.2 如何在Connect API和客戶(hù)端API之間作出選擇 105
7.3 Kafka Connect 106
7.3.1 運(yùn)行Connect 106
7.3.2 連接器示例——文件數(shù)據(jù)源和文件數(shù)據(jù)池 107
7.3.3 連接器示例——從MySQL到ElasticSearch 109
7.3.4 深入理解Connect 114
7.4 Connect之外的選擇 116
7.4.1 用于其他數(shù)據(jù)存儲(chǔ)的攝入框架 116
7.4.2 基于圖形界面的ETL工具 117
7.4.3 流式處理框架 117
7.5 總結(jié) 117
第 8 章 跨集群數(shù)據(jù)鏡像 118
8.1 跨集群鏡像的使用場(chǎng)景 118
8.2 多集群架構(gòu) 119
8.2.1 跨數(shù)據(jù)中心通信的一些現(xiàn)實(shí)情況 119
8.2.2 Hub和Spoke架構(gòu) 120
8.2.3 雙活架構(gòu) 121
8.2.4 主備架構(gòu) 123
8.2.5 延展集群 127
8.3 Kafka的MirrorMaker 128
8.3.1 如何配置 129
8.3.2 在生產(chǎn)環(huán)境部署MirrorMaker 130
8.3.3 MirrorMaker調(diào)優(yōu) 132
8.4 其他跨集群鏡像方案 134
8.4.1 優(yōu)步的uReplicator 134
8.4.2 Confluent的Replicator 135
8.5 總結(jié) 135
第 9 章 管理Kafka 136
9.1 主題操作 136
9.1.1 創(chuàng)建主題 137
9.1.2 增加分區(qū) 138
9.1.3 刪除主題 138
9.1.4 列出集群里的所有主題 139
9.1.5 列出主題詳細(xì)信息 139
9.2 消費(fèi)者群組 140
9.2.1 列出并描述群組 140
9.2.2 刪除群組 142
9.2.3 偏移量管理 142
9.3 動(dòng)態(tài)配置變更 143
9.3.1 覆蓋主題的默認(rèn)配置 143
9.3.2 覆蓋客戶(hù)端的默認(rèn)配置 145
9.3.3 列出被覆蓋的配置 145
9.3.4 移除被覆蓋的配置 146
9.4 分區(qū)管理 146
9.4.1 首選的首領(lǐng)選舉 146
9.4.2 修改分區(qū)副本 147
9.4.3 修改復(fù)制系數(shù) 150
9.4.4 轉(zhuǎn)儲(chǔ)日志片段 151
9.4.5 副本驗(yàn)證 152
9.5 消費(fèi)和生產(chǎn) 153
9.5.1 控制臺(tái)消費(fèi)者 153
9.5.2 控制臺(tái)生產(chǎn)者 155
9.6 客戶(hù)端ACL 157
9.7 不安全的操作 157
9.7.1 移動(dòng)集群控制器 157
9.7.2 取消分區(qū)重分配 157
9.7.3 移除待刪除的主題 158
9.7.4 手動(dòng)刪除主題 158
9.8 總結(jié) 159
第 10 章 監(jiān)控Kafka 160
10.1 度量指標(biāo)基礎(chǔ) 160
10.1.1 度量指標(biāo)在哪里 160
10.1.2 內(nèi)部或外部度量 161
10.1.3 應(yīng)用程序健康檢測(cè) 161
10.1.4 度量指標(biāo)的覆蓋面 161
10.2 broker的度量指標(biāo) 162
10.2.1 非同步分區(qū) 162
10.2.2 broker度量指標(biāo) 166
10.2.3 主題和分區(qū)的度量指標(biāo) 173
10.2.4 Java虛擬機(jī)監(jiān)控 174
10.2.5 操作系統(tǒng)監(jiān)控 175
10.2.6 日志 176
10.3 客戶(hù)端監(jiān)控 177
10.3.1 生產(chǎn)者度量指標(biāo) 177
10.3.2 消費(fèi)者度量指標(biāo) 179
10.3.3 配額 181
10.4 延時(shí)監(jiān)控 182
10.5 端到端監(jiān)控 183
10.6 總結(jié) 183
第 11 章 流式處理 184
11.1 什么是流式處理 185
11.2 流式處理的一些概念 186
11.2.1 時(shí)間 187
11.2.2 狀態(tài) 188
11.2.3 流和表的二元性 188
11.2.4 時(shí)間窗口 189
11.3 流式處理的設(shè)計(jì)模式 190
11.3.1 單個(gè)事件處理 191
11.3.2 使用本地狀態(tài) 191
11.3.3 多階段處理和重分區(qū) 193
11.3.4 使用外部查找——流和表的連接 193
11.3.5 流與流的連接 195
11.3.6 亂序的事件 195
11.3.7 重新處理 196
11.4 Streams示例 197
11.4.1 字?jǐn)?shù)統(tǒng)計(jì) 197
11.4.2 股票市場(chǎng)統(tǒng)計(jì) 199
11.4.3 填充點(diǎn)擊事件流 201
11.5 Kafka Streams的架構(gòu)概覽 202
11.5.1 構(gòu)建拓?fù)? 202
11.5.2 對(duì)拓?fù)溥M(jìn)行伸縮 203
11.5.3 從故障中存活下來(lái) 205
11.6 流式處理使用場(chǎng)景 205
11.7 如何選擇流式處理框架 206
11.8 總結(jié) 208
附錄A 在其他操作系統(tǒng)上安裝Kafka 209
作者介紹 214
封面介紹 214
Kafka權(quán)威指南 作者簡(jiǎn)介
Neha Narkhede, Confluent聯(lián)合創(chuàng)始人、CTO,曾在LinkedIn主導(dǎo)基于Kafka和Apache Samza構(gòu)建流式基礎(chǔ)設(shè)施,是Kafka作者之一。 Gwen Shapira, Confluent系統(tǒng)架構(gòu)師,幫助客戶(hù)構(gòu)建基于Kafka的系統(tǒng),在可伸縮數(shù)據(jù)架構(gòu)方面擁有十余年經(jīng)驗(yàn);曾任Cloudera公司解決方案架構(gòu)師。另著有《Hadoop應(yīng)用架構(gòu)》。 Todd Palino, LinkedIn主任級(jí)SRE,負(fù)責(zé)部署管理大型的Kafka、Zookeeper和Samza集群。 【譯者簡(jiǎn)介】 薛命燈,畢業(yè)于廈門(mén)大學(xué)軟件學(xué)院,十余年軟件開(kāi)發(fā)和架構(gòu)經(jīng)驗(yàn),InfoQ社區(qū)編輯。譯有《硅谷革命》《生產(chǎn)微服務(wù)》等書(shū)。微信公眾號(hào)CodeDeep。
- >
中國(guó)歷史的瞬間
- >
人文閱讀與收藏·良友文學(xué)叢書(shū):一天的工作
- >
李白與唐代文化
- >
唐代進(jìn)士錄
- >
月亮虎
- >
伯納黛特,你要去哪(2021新版)
- >
中國(guó)人在烏蘇里邊疆區(qū):歷史與人類(lèi)學(xué)概述
- >
羅曼·羅蘭讀書(shū)隨筆-精裝