天天看點

Flink學習系列——Flink簡介(一)

​​​​​

作者:高二蛋​

主要内容:

  • Flink是什麼
  • 為什麼用Flink?
  • 流處理的發展和演變
  • Flink的主要特點
  • Flink VS Spark Streaming

1.Flink是什麼

  • Flink是一個架構(可以處理流和批處理的架構)和分布式處理引擎,用于對無界資料和有界資料流進行狀态計算;

2.為什麼選擇 Flink:

  • 流資料更真實的反應我們的生活方式;
  • 傳統的資料架構是基于有限資料集的;
  • 我們的目标:
  • 低延遲;
  • 吞吐性;
  • 結果的準确性和良好的容錯性;

3.哪些行業需要處理流資料呢?

  • 電商和市場營銷:
  • 資料報表,廣告投放,業務流程需要;
  • 物聯網(IOT):
  • 傳感器實時資料的采集和顯示,實時報警,交通運輸業;
  • 電信業:
  • 基站流量比對;
  • 銀行和金融業:
  • 實時結算和通知推送,實時監測異常行為;

4.流式處理的演變:

​​https://developer.hs.net/thread/1009​​

5.Flink主要特點:

  • 事件驅動:
  • Flink學習系列——Flink簡介(一)
  • 基于流的世界觀:
  • Flink學習系列——Flink簡介(一)
  • 分層API:
  • Flink學習系列——Flink簡介(一)
  • 支援事件事件(event-time)和處理時間(processing-time)語義;
  • 精确一次(exactly-once)的狀态一緻性保證;
  • 低延遲,每秒處理百萬個事件,毫秒級延遲;
  • 與衆多常用存儲系統的連接配接;
  • 高可用,動态擴充,實作7*24小時全天候運作;
  • 結構:
  • Flink:流(stream)
  • Spark Streaming:微批(micro-batching)
  • 資料模型:
  • Flink:基本資料模型就是資料流,以及事件(Event)序列;
  • Spark采用RDD模型,SparkStreaming的DStream實際上也就是一組組小批資料RDD的集合;
  • 運作時架構:
  • Flink:是标準的流執行模式,一個事件在一個節點處理完後可以直接發往下一個節點進行處理;(因為沒有stage的劃分,是以延遲性低)
  • Spark是批處理,将DAG劃分為不同的stage,一個完成之後才可以計算下一個;

繼續閱讀