《大數據實時計算引擎 Flink 實戰與性能優化》新專欄

基於 Flink 1.9 講解的專欄,涉及入門、概念、原理、實戰、性能調優、系統案例的講解。

<!--more-->

專欄介紹

掃碼下面專欄二維碼可以訂閱該專欄

首發地址:http://www.54tianzhisheng.cn/2019/11/15/flink-in-action/

專欄地址:https://gitbook.cn/gitchat/column/5dad4a20669f843a1a37cb4f

專欄亮點

  • 全網首個使用最新版本 Flink 1.9 進行內容講解(該版本更新很大,架構功能都有更新),領跑於目前市面上常見的 Flink 1.7 版本的教學課程。
  • 包含大量的實戰案例和代碼去講解原理,有助於讀者一邊學習一邊敲代碼,達到更快,更深刻的學習境界。目前市面上的書籍沒有任何實戰的內容,還只是講解純概念和翻譯官網。
  • 在專欄高級篇中,根據 Flink 常見的項目問題提供了排查和解決的思維方法,並通過這些問題探究了爲什麼會出現這類問題。
  • 在實戰和案例篇,圍繞大廠公司的經典需求進行分析,包括架構設計、每個環節的操作、代碼實現都有一一講解。

爲什麼要學習 Flink?

隨着大數據的不斷髮展,對數據的及時性要求越來越高,實時場景需求也變得越來越多,主要分下面幾大類:

爲了滿足這些實時場景的需求,衍生出不少計算引擎框架。現有市面上的大數據計算引擎的對比如下圖所示:

可以發現無論從 Flink 的架構設計上,還是從其功能完整性和易用性來講都是領先的,再加上 Flink 是阿里巴巴主推的計算引擎框架,所以從去年開始就越來越火了!

目前,阿里巴巴、騰訊、美團、華爲、滴滴出行、攜程、餓了麼、愛奇藝、有贊、唯品會等大廠都已經將 Flink 實踐於公司大型項目中,帶起了一波 Flink 風潮,勢必也會讓 Flink 人才市場產生供不應求的招聘現象

專欄內容

預備篇

介紹實時計算常見的使用場景,講解 Flink 的特性,並且對比了 Spark Streaming、Structured Streaming 和 Storm 等大數據處理引擎,然後準備環境並通過兩個 Flink 應用程序帶大家上手 Flink。

基礎篇

深入講解 Flink 中 Time、Window、Watermark、Connector 原理,並有大量文章篇幅(含詳細代碼)講解如何去使用這些 Connector(比如 Kafka、ElasticSearch、HBase、Redis、MySQL 等),並且會講解使用過程中可能會遇到的坑,還教大家如何去自定義 Connector。

進階篇

講解 Flink 中 State、Checkpoint、Savepoint、內存管理機制、CEP、Table/SQL API、Machine Learning 、Gelly。在這篇中不僅只講概念,還會講解如何去使用 State、如何配置 Checkpoint、Checkpoint 的流程和如何利用 CEP 處理複雜事件。

高級篇

重點介紹 Flink 作業上線後的監控運維:如何保證高可用、如何定位和排查反壓問題、如何合理的設置作業的並行度、如何保證 Exactly Once、如何處理數據傾斜問題、如何調優整個作業的執行效率、如何監控 Flink 及其作業?

實戰篇

教大家如何分析實時計算場景的需求,並使用 Flink 裏面的技術去實現這些需求,比如實時統計 PV/UV、實時統計商品銷售額 TopK、應用 Error 日誌實時告警、機器宕機告警。這些需求如何使用 Flink 實現的都會提供完整的代碼供大家參考,通過這些需求你可以學到 ProcessFunction、Async I/O、廣播變量等知識的使用方式。

系統案例篇

講解大型流量下的真實案例:如何去實時處理海量日誌(錯誤日誌實時告警/日誌實時 ETL/日誌實時展示/日誌實時搜索)、基於 Flink 的百億數據實時去重實踐(從去重的通用解決方案 --> 使用 BloomFilter 來實現去重 --> 使用 Flink 的 KeyedState 實現去重)。

多圖講解 Flink 知識點

 Flink 支持多種時間語義

Flink 提供靈活的窗口

Flink On YARN

Flink Checkpoint

Flink 監控

你將獲得什麼

  • 掌握 Flink 與其他計算框架的區別
  • 掌握 Flink Time/Window/Watermark/Connectors 概念和實現原理
  • 掌握 Flink State/Checkpoint/Savepoint 狀態與容錯
  • 熟練使用 DataStream/DataSet/Table/SQL API 開發 Flink 作業
  • 掌握 Flink 作業部署/運維/監控/性能調優
  • 學會如何分析並完成實時計算需求
  • 獲得大型高併發流量系統案例實戰項目經驗

適宜人羣

  • Flink 愛好者
  • 實時計算開發工程師
  • 大數據開發工程師
  • 計算機專業研究生
  • 有實時計算場景場景的 Java 開發工程師

原文出處:zhisheng的博客,歡迎關注我的公衆號:zhisheng

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章