基于 Flink 1.9 講解的專欄,涉及入門寺滚、概念、原理郁竟、實(shí)戰(zhàn)玛迄、性能調(diào)優(yōu)由境、系統(tǒng)案例的講解棚亩。
專欄介紹
掃碼下面專欄二維碼可以訂閱該專欄
首發(fā)地址:http://www.54tianzhisheng.cn/2019/11/15/flink-in-action/
專欄地址:https://gitbook.cn/gitchat/column/5dad4a20669f843a1a37cb4f
專欄亮點(diǎn)
全網(wǎng)首個(gè)使用最新版本 Flink 1.9 進(jìn)行內(nèi)容講解(該版本更新很大,架構(gòu)功能都有更新)虏杰,領(lǐng)跑于目前市面上常見(jiàn)的 Flink 1.7 版本的教學(xué)課程讥蟆。
包含大量的實(shí)戰(zhàn)案例和代碼去講解原理,有助于讀者一邊學(xué)習(xí)一邊敲代碼纺阔,達(dá)到更快瘸彤,更深刻的學(xué)習(xí)境界。目前市面上的書(shū)籍沒(méi)有任何實(shí)戰(zhàn)的內(nèi)容笛钝,還只是講解純概念和翻譯官網(wǎng)质况。
在專欄高級(jí)篇中愕宋,根據(jù) Flink 常見(jiàn)的項(xiàng)目問(wèn)題提供了排查和解決的思維方法,并通過(guò)這些問(wèn)題探究了為什么會(huì)出現(xiàn)這類問(wèn)題结榄。
在實(shí)戰(zhàn)和案例篇中贝,圍繞大廠公司的經(jīng)典需求進(jìn)行分析,包括架構(gòu)設(shè)計(jì)臼朗、每個(gè)環(huán)節(jié)的操作邻寿、代碼實(shí)現(xiàn)都有一一講解。
為什么要學(xué)習(xí) Flink视哑?
隨著大數(shù)據(jù)的不斷發(fā)展绣否,對(duì)數(shù)據(jù)的及時(shí)性要求越來(lái)越高,實(shí)時(shí)場(chǎng)景需求也變得越來(lái)越多挡毅,主要分下面幾大類:
為了滿足這些實(shí)時(shí)場(chǎng)景的需求蒜撮,衍生出不少計(jì)算引擎框架。現(xiàn)有市面上的大數(shù)據(jù)計(jì)算引擎的對(duì)比如下圖所示:
可以發(fā)現(xiàn)無(wú)論從 Flink 的架構(gòu)設(shè)計(jì)上跪呈,還是從其功能完整性和易用性來(lái)講都是領(lǐng)先的淀弹,再加上 Flink 是阿里巴巴主推的計(jì)算引擎框架,所以從去年開(kāi)始就越來(lái)越火了庆械!
目前薇溃,阿里巴巴、騰訊缭乘、美團(tuán)沐序、華為、滴滴出行堕绩、攜程策幼、餓了么、愛(ài)奇藝奴紧、有贊特姐、唯品會(huì)等大廠都已經(jīng)將 Flink 實(shí)踐于公司大型項(xiàng)目中,帶起了一波 Flink 風(fēng)潮黍氮,勢(shì)必也會(huì)讓 Flink 人才市場(chǎng)產(chǎn)生供不應(yīng)求的招聘現(xiàn)象唐含。
專欄內(nèi)容
預(yù)備篇
介紹實(shí)時(shí)計(jì)算常見(jiàn)的使用場(chǎng)景,講解 Flink 的特性沫浆,并且對(duì)比了 Spark Streaming捷枯、Structured Streaming 和 Storm 等大數(shù)據(jù)處理引擎,然后準(zhǔn)備環(huán)境并通過(guò)兩個(gè) Flink 應(yīng)用程序帶大家上手 Flink专执。
基礎(chǔ)篇
深入講解 Flink 中 Time淮捆、Window、Watermark、Connector 原理攀痊,并有大量文章篇幅(含詳細(xì)代碼)講解如何去使用這些 Connector(比如 Kafka桐腌、ElasticSearch、HBase苟径、Redis哩掺、MySQL 等),并且會(huì)講解使用過(guò)程中可能會(huì)遇到的坑涩笤,還教大家如何去自定義 Connector嚼吞。
進(jìn)階篇
講解 Flink 中 State、Checkpoint蹬碧、Savepoint舱禽、內(nèi)存管理機(jī)制、CEP恩沽、Table/SQL API誊稚、Machine Learning 、Gelly罗心。在這篇中不僅只講概念里伯,還會(huì)講解如何去使用 State、如何配置 Checkpoint渤闷、Checkpoint 的流程和如何利用 CEP 處理復(fù)雜事件疾瓮。
高級(jí)篇
重點(diǎn)介紹 Flink 作業(yè)上線后的監(jiān)控運(yùn)維:如何保證高可用、如何定位和排查反壓?jiǎn)栴}飒箭、如何合理的設(shè)置作業(yè)的并行度狼电、如何保證 Exactly Once、如何處理數(shù)據(jù)傾斜問(wèn)題弦蹂、如何調(diào)優(yōu)整個(gè)作業(yè)的執(zhí)行效率肩碟、如何監(jiān)控 Flink 及其作業(yè)?
實(shí)戰(zhàn)篇
教大家如何分析實(shí)時(shí)計(jì)算場(chǎng)景的需求凸椿,并使用 Flink 里面的技術(shù)去實(shí)現(xiàn)這些需求削祈,比如實(shí)時(shí)統(tǒng)計(jì) PV/UV、實(shí)時(shí)統(tǒng)計(jì)商品銷售額 TopK脑漫、應(yīng)用 Error 日志實(shí)時(shí)告警髓抑、機(jī)器宕機(jī)告警。這些需求如何使用 Flink 實(shí)現(xiàn)的都會(huì)提供完整的代碼供大家參考窿撬,通過(guò)這些需求你可以學(xué)到 ProcessFunction启昧、Async I/O、廣播變量等知識(shí)的使用方式劈伴。
系統(tǒng)案例篇
講解大型流量下的真實(shí)案例:如何去實(shí)時(shí)處理海量日志(錯(cuò)誤日志實(shí)時(shí)告警/日志實(shí)時(shí) ETL/日志實(shí)時(shí)展示/日志實(shí)時(shí)搜索)撼玄、基于 Flink 的百億數(shù)據(jù)實(shí)時(shí)去重實(shí)踐(從去重的通用解決方案 --> 使用 BloomFilter 來(lái)實(shí)現(xiàn)去重 --> 使用 Flink 的 KeyedState 實(shí)現(xiàn)去重)。
多圖講解 Flink 知識(shí)點(diǎn)
你將獲得什么
- 掌握 Flink 與其他計(jì)算框架的區(qū)別
- 掌握 Flink Time/Window/Watermark/Connectors 概念和實(shí)現(xiàn)原理
- 掌握 Flink State/Checkpoint/Savepoint 狀態(tài)與容錯(cuò)
- 熟練使用 DataStream/DataSet/Table/SQL API 開(kāi)發(fā) Flink 作業(yè)
- 掌握 Flink 作業(yè)部署/運(yùn)維/監(jiān)控/性能調(diào)優(yōu)
- 學(xué)會(huì)如何分析并完成實(shí)時(shí)計(jì)算需求
- 獲得大型高并發(fā)流量系統(tǒng)案例實(shí)戰(zhàn)項(xiàng)目經(jīng)驗(yàn)
適宜人群
- Flink 愛(ài)好者
- 實(shí)時(shí)計(jì)算開(kāi)發(fā)工程師
- 大數(shù)據(jù)開(kāi)發(fā)工程師
- 計(jì)算機(jī)專業(yè)研究生
- 有實(shí)時(shí)計(jì)算場(chǎng)景場(chǎng)景的 Java 開(kāi)發(fā)工程師
原文出處:zhisheng的博客奴饮,歡迎關(guān)注我的公眾號(hào):zhisheng