中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
85折
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$544 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
75折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$375 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
這是一部從源代碼角度出發,
通過分析Flink的各個功能模塊的實現來剖析Flink的架構設計和實現原理的著作。
它將能指導讀者更好地對Flink進行性能調優、可用性保障、效能優化和二次開發。
四位作者都是非常資深的Flink專家,部分作者是Flink源代碼的維護者和改造者,
本書總結了他們在、螞蟻集團、滴滴等企業的大規模Flink實踐經驗。
全書共11章,主要內容如下。
第1章 閱讀Flink源代碼前的準備
主要介紹了Flink源代碼的獲取、編譯、調試,以及它的目錄結構、設計理念和基本架構。
此外,還分析了Flink與Hadoop MapReduce、Spark在設計上的差異。
第2~8章 Flink功能模塊源代碼和架構解析
從源碼角度分析了Flink的編程模型與API、運行時組件與通信、狀態管理與容錯、
任務提交與執行、Flink網絡棧、Flink Connector、部署模式等功能模塊的原理。
力求讓讀者深入理解Flink的原理,而不只是跟著本書讀一遍Flink源代碼。
原理和思想是不局限於某一個框架和技術,
瞭解了Flink的原理和思想,可以將其擴展到其他框架和技術上。
第9~10章 Flink Table、SQL與Flink CEP
編程方式逐漸從原先基於Map-Reduce的任務模式向SQL化演進,SQL意味著標準和效率。
這兩章重點講解了StreamTableEnvironment的實現過程、
SQL的解析過程、Table Connector以及Flink CEP的內部實現原理。
第11章 Flink監控
主要講解了Flink的監控指標、常用系統指標和監控體系的建設,
以及常用的定位手段。
作者簡介
羅江宇
Flink技術專家,先後就職於新浪微博、滴滴和某大型電商公司。
先後主導或參與了多家公司的Flink實時計算服務的構建、
對超大規模集群的維護以及Flink引擎的改造。
擁有豐富的實時計算實戰經驗,目前專註於Kubernetes調度、
Flink SQL及Flink流批一體化方向。
趙士傑
資深大數據技術專家,曾就職於滴滴、等一線因特網公司。
從0到1深度參與了滴滴的大數據建設,
擁有非常豐富的大數據平臺一線建設經驗,
對於大數據領域的計算和存儲引擎也有深入研究。
李涵渺
大數據研發專家,曾任滴滴大數據開發工程師。
從事大數據領域工作多年,參與過多家公司流計算平臺的設計與研發,
目前專註於批流一體、OLAP技術方向的研究與應用。
閔文俊
螞蟻集團技術專家、開源大數據社區愛好者、Flink Contributor,
在實時計算領域工作多年,深度參與了滴滴、螞蟻集團的實時計算平臺建設。
目錄大綱
前 言
第1章 閱讀Flink源代碼前的準備 1
1.1 環境準備 1
1.2 獲取、編譯和調試Flink的源代碼 4
1.2.1 獲取與導入Flink源代碼 4
1.2.2 編譯與調試Flink源代碼 6
1.3 Flink源代碼的目錄結構 9
1.4 Flink設計理念與基本架構 11
1.4.1 Flink與主流計算引擎對比 11
1.4.2 Flink基本架構 14
1.5 本章小結 17
第2章 編程模型與API 18
2.1 DataStream 18
2.2 算子 21
2.3 窗口 28
2.3.1 窗口的基本概念 28
2.3.2 窗口的執行流程 30
2.3.3 窗口分配器 32
2.3.4 觸發器 37
2.3.5 窗口函數 41
2.4 本章小結 43
第3章 運行時組件與通信 44
3.1 運行時組件 44
3.1.1 REST 45
3.1.2 Dispatcher 54
3.1.3 ResourceManager 61
3.1.4 JobMaster 75
3.1.5 TaskExecutor 85
3.2 組件間通信 95
3.2.1 Akka與Actor模型 95
3.2.2 組件間通信實現 99
3.3 運行時組件的高可用 117
3.3.1 Master節點上組件的高可用 117
3.3.2 現有運行時組件高可用存在的問題及其解決方案 126
3.4 本章小結 128
第4章 狀態管理與容錯 129
4.1 狀態 129
4.1.1 狀態的原理與實現 129
4.1.2 狀態生存時間的原理與實現 134
4.2 檢查點 137
4.2.1 檢查點機制原理 137
4.2.2 檢查點執行過程 137
4.2.3 任務容錯 140
4.3 狀態後端 143
4.4 本章小結 148
第5章 任務提交與執行 149
5.1 任務提交整體流程 149
5.2 DAG轉換 152
5.2.1 DAG的4層轉換 152
5.2.2 WordCount轉換過程 152
5.3 Slot分配 160
5.3.1 相關概念和實現類 160
5.3.2 Slot申請流程 162
5.3.3 任務部署 168
5.4 任務執行機制 170
5.4.1 任務執行過程 170
5.4.2 MailBox線程模型 174
5.5 本章小結 177
第6章 Flink網絡棧 178
6.1 內存管理 178
6.2 網絡傳輸 182
6.2.1 什麼是Flink網絡棧 182
6.2.2 非流控模型的網絡傳輸流程 184
6.2.3 流控模型的網絡傳輸流程 197
6.3 流批一體的shuffle架構 199
6.3.1 生命週期管理 199
6.3.2 數據shuffle 207
6.4 本章小結 208
第7章 Flink Connector的設計與實現 209
7.1 Kafka Connector實現原理 209
7.1.1 Kafka Source Connector實現 209
7.1.2 Kafka Sink Connector 實現 216
7.2 HBase Table Connector 實現原理 220
7.2.1 HBase Source Connector和Sink Connector的工廠實現 221
7.2.2 HBase維表實現 222
7.3 本章小結 224
第8章 部署模式 225
8.1 Local部署 225
8.2 Standalone部署 228
8.3 Flink on YARN模式 240
8.3.1 YARN基本架構 240
8.3.2 Flink on YARN模式介紹 241
8.3.3 Flink on YARN啟動過程 243
8.4 Flinkon Kubernetes模式 260
8.5 本章小結 265
第9章 Flink Table與SQL 266
9.1 StreamTableEnvironment類介紹 266
9.1.1 StreamExecution-Environment類 267
9.1.2 EnvironmentSettings類 267
9.1.3 TableConfig類 268
9.1.4 StreamTableEnvironment的創建過程 269
9.2 SQL解析過程 270
9.2.1 SQL解析 270
9.2.2 SQL優化 277
9.2.3 RelNode轉換 279
9.3 Table Connector 281
9.3.1 TableSource 282
9.3.2 TableSink 286
9.3.3 SPI機制在Table Connector中的應用 288
9.4 UDF與內置算子 292
9.4.1 UDF 292
9.4.2 內置算子 294
9.5 本章小結 297
第10章 Flink CEP 原理解析 298
10.1 CEP的基本概念 298
10.1.1 什麼是Flink CEP 298
10.1.2 Pattern 298
10.1.3 量詞 300
10.1.4 條件 301
10.1.5 連接 302
10.1.6 Flink CEP作業編寫舉例 302
10.2 CEP內部實現原理 304
10.2.1 NFA簡介 305
10.2.2 匹配過程 305
10.2.3 CEP狀態存儲 310
10.2.4 CEP和SQL結合 313
10.3 本章小結 315
第11章 Flink監控 316
11.1 監控指標 316
11.1.1 指標類型 316
11.1.2 系統指標及自定義指標 318
11.1.3 指標的使用 319
11.2 常用系統指標 322
11.3 監控體系建設 324
11.3.1 指標監控及展示 324
11.3.2 日誌分析處理 326
11.3.3 定位手段 326
11.4 本章小結 327
