Flink基本概念


Flink基本概念

1.The history of Flink?

2.What is Flink?

Apache Flink是一個開源的分布式高性能高可用准確的流處理框架,主要由Java代碼實現,支持實時流(stream)處理和批(batch)處理,批數據只是流數據的一個極限的特例。原生支持了迭代管理、內存計算和程序優化。

3.The Feature of Flink?

流式優先(streaming-first:連續處理),容錯(fault-tolerant:有狀態的計算),可伸縮(scalable:可支持上千個節點),性能(performance:高吞吐-每秒處理的數據量很大、低延遲-數據產生時Flink立刻可以處理掉 數據的產生到處理間隔的時間很短)。

4.The Architecture of Flink?

(1)部署deploy : 支持local(single jvm)、支持cluster(standalone、yarn)、支持cloud(GCE、EC2)  (2)核心core : 分布式流處理框架  (3)APIs : DataStream API、DataSet API  (4)Libraries : DataStream API -- CEP、Table,DataSet API -- FLinkML、Gelly、Table

5.The basic components of Flink?

Data Source、Transformations、Data Sink

6.The Distributed Execution about Flink?

7.The different between Batch Processing and Streaming Processing?

流處理是一個節點把一條記錄處理完后序列化到緩存里另一個節點立刻把數據從緩存中拉過去進行處理,批處理是一個節點處理一條記錄放入緩存中另一個節點不會立刻從緩存中拉取記錄直到所有的記錄都執行完為止在統一從緩存里拉取數據。

8.The diagram of Flink Cluster? 

9.The application scene of Flink?

優化電商網站的實時搜索結果如阿里巴巴的實時更新產品細節使用Flink,實時更新庫存細節使用Blink。

10.Flink vs Storm vs Spark Streaming vs Trident?

Flink可以通過設置閾值來實現流處理或批處理,如果將閾值設為0那么就相和Storm一樣的實時流處理來一條數據處理一條,真正的實現了低延遲但是相對的吞吐量會降低,如果閾值設為無限大相當於批處理一樣那么吞吐量會提高卻無法實現低延遲的效果,當然根據實際情況可以吧把值設為合適的值。Storm就是實時流處理來一條數據處理一條,保證數據至少被處理一次,所以可能會處理重復,其他三者都是保證了僅一次的處理。Spark Streaming是微批處理(mirco-batching),本質上不屬於實時流處理,而是每隔一定的時間段會處理一次數據,一批一批的小批量處理。Trident是基於Storm的一個封裝,是一批一批的小批量處理。

11.Flink execution process?

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM