內容簡介 這是一部從源代碼角度出發(fā),通過分析Flink的各個功能模塊的實現(xiàn)來剖析Flink的架構設計和實現(xiàn)原理的著作。它將能指導讀者更好地對Flink進行性能調優(yōu)、可用性保障、效能優(yōu)化和二次開發(fā)。 四位作者都是非常資深的Flink專家,部分作者是Flink源代碼的維護者和改造者,本書總結了他們在阿里巴巴、螞蟻集團、滴滴等企業(yè)的大規(guī)模Flink實踐經驗。 全書共11章,主要內容如下。 第1章 閱讀Flink源代碼前的準備 主要介紹了Flink源代碼的獲取、編譯、調試,以及它的目錄結構、設計理念和基本架構。此外,還分析了Flink與Hadoop MapReduce、Spark在設計上的差異。 第2~8章 Flink功能模塊源代碼和架構解析 從源碼角度分析了Flink的編程模型與API、運行時組件與通信、狀態(tài)管理與容錯、任務提交與執(zhí)行、Flink網絡棧、Flink Connector、部署模式等功能模塊的原理。力求讓讀者深入理解Flink的原理,而不只是跟著本書讀一遍Flink源代碼。原理和思想是不局限于某一個框架和技術,了解了Flink的原理和思想,可以將其擴展到其他框架和技術上。 第9~10章 Flink Table、SQL與Flink CEP 編程方式逐漸從原先基于Map-Reduce的任務模式向SQL化演進,SQL意味著標準和效率。這兩章重點講解了StreamTableEnvironment的實現(xiàn)過程、SQL的解析過程、Table Connector以及Flink CEP的內部實現(xiàn)原理。 第11章 Flink監(jiān)控 主要講解了Flink的監(jiān)控指標、常用系統(tǒng)指標和監(jiān)控體系的建設,以及常用的定位手段。