2021-02-20 分類: 網(wǎng)站建設
01 什么是Flink?
在當前數(shù)據(jù)量激增傳統(tǒng)的時代,不同的業(yè)務場景都有大量的業(yè)務數(shù)據(jù)產(chǎn)生,對于這些不斷產(chǎn)生的數(shù)據(jù)應該如何進行有效地處理,成為當下大多數(shù)公司所面臨的問題。
隨著雅虎對Hadoop的開源,越來越多的大數(shù)據(jù)處理技術開始涌入人們的視線,例如目前比較流行大數(shù)據(jù)處理引擎Apache Spark,基本上已經(jīng)取代了MapReduce成為當前大數(shù)據(jù)處理的標準。
但隨著數(shù)據(jù)的不斷增長,新技術的不斷發(fā)展,人們逐漸意識到對實時數(shù)據(jù)處理的重要性,企業(yè)需要能夠同時支持高吞吐、低延遲、高性能的流處理技術來處理日益增長的數(shù)據(jù)。
▲有狀態(tài)計算架構同時Flink支持高效容錯的狀態(tài)管理,F(xiàn)link能夠將其狀態(tài)維護在內(nèi)存或RockDB數(shù)據(jù)庫中,為了防止狀態(tài)在計算過程中因為系統(tǒng)異常而出現(xiàn)丟失,F(xiàn)link周期性的通過分布式快照技術CheckPoints實現(xiàn)狀態(tài)的持久化維護,使得在系統(tǒng)即使在停機或者異常的情況下都能正確的進行狀態(tài)恢復,從而保證在任何時間都能計算出正確的結果。
數(shù)據(jù)架構的演變過程,伴隨著技術的不斷迭代更新,F(xiàn)link具有先進的架構理念,以及諸多的優(yōu)秀特性,以及完善的編程接口,而Flink也在每一次的Release版本中,不斷推出新的特性。
例如Queryable State功能的提出,將直接容許用戶通過遠程的方式直接獲取流式計算任務的狀態(tài)信息,也就是說數(shù)據(jù)不需要落地數(shù)據(jù)庫就能直接從流式應用中直接查詢出,對于實時交互式的查詢業(yè)務可以直接從Flink的狀態(tài)中查詢最新的結果,當然這個功能目前還屬于Beta版本,但是相信在不久的未來,會變得越來越完善,那時Flink將不僅作為實時流式處理的框架,更多的可能會成為一套實時的存儲引擎,會讓更多的用戶從有狀態(tài)計算的技術中獲取收益。
同時支持高吞吐、低延遲、高性能
Flink是一套集高吞吐,低延遲,高性能三者于一身的分布式流式數(shù)據(jù)處理框架。
非常成熟的計算框架Apache Spark也只能兼顧高吞吐和高性能特性,在Spark Streaming流式計算中無法做到低延遲保障;而Apache Storm只能支持低延遲和高性能特性,但是無法滿足高吞吐的要求。而對于滿足高吞吐,低延遲,高性能這三個目標對分布式流式計算框架是非常重要的。
支持事件時間(Event Time)概念
在流式計算領域中,窗口計算的地位舉足輕重,但目前大多數(shù)計算框架窗口計算所采用的都是系統(tǒng)時間(Process Time),也是事件傳輸?shù)接嬎憧蚣芴幚頃r,系統(tǒng)
基于輕量級分布式快照(Snapshot)實現(xiàn)的容錯
Flink能夠分布式運行在上千個節(jié)點之上,將一個大型計算的流程拆解成小的計算過程,然后將計算過程分布到單臺并行節(jié)點上進行處理。
在任務執(zhí)行過程中,能夠自動的發(fā)現(xiàn)事件處理過程中的錯誤而導致數(shù)據(jù)不一致的問題,常見的錯誤類型例如:節(jié)點宕機,或者網(wǎng)路傳輸問題,或是由于用戶因為升級或修復問題而導致計算服務重啟等。
在這些情況下,通過基于分布式快照技術的Checkpoints,將執(zhí)行過程中的任務信息進行持久化存儲,一旦任務出現(xiàn)異常宕機,F(xiàn)link能夠進行任務的自動恢復,從而確保數(shù)據(jù)在處理過程中的一致性。
基于JVM實現(xiàn)獨立的內(nèi)存管理
內(nèi)存管理是每套計算框架需要重點考慮的領域,尤其對于計算量比較大的計算場景,數(shù)據(jù)在內(nèi)存中該如何進行管理,針對內(nèi)存管理這塊,F(xiàn)link實現(xiàn)了自身管理內(nèi)存的機制,盡可能減少Full GC對系統(tǒng)的影響。
另外通過自定義序列化/反序列化方法將所有的對象轉換成二進制在內(nèi)存中存儲,降低數(shù)據(jù)存儲的大小,更加有效的對內(nèi)存空間進行利用,降低GC所帶來的性能下降或者任務停止的風險,同時提升了分布式處理過數(shù)據(jù)傳輸?shù)男阅堋?/p>
因此Flink較其他分布式處理的框架則會顯得更加穩(wěn)定,不會因為JVM GC等問題而導致整個應用宕機的問題。
Save Points(保存點)
對于7*24小時運行的流式應用,數(shù)據(jù)源源不斷的接入,在一段時間內(nèi)應用的終止都有可能導致數(shù)據(jù)的丟失或者計算結果的不準確性,例如進行版本的升級,停機運維操作等,都能導致這種情況發(fā)生。
然而值得一提的是Flink通過其Save Points技術能夠將任務執(zhí)行的快照(Snapshot)保存在存儲介質上,等待任務重啟的時候可以直接從實現(xiàn)保存的Save Points恢復原有的計算狀態(tài),使得任務繼續(xù)按照停機之前的狀態(tài)繼續(xù)運行,Save Points技術可以讓用戶更好的管理和運維實時流式應用。
同時Flink除了上述的特性之外也具有其他非常優(yōu)秀的特性,可以讓用戶有更多選擇。Flink具備非常多的優(yōu)秀特性,這不僅讓Flink在社區(qū)的知名度越來越高,也吸引了眾多的企業(yè)參與研發(fā)和使用Flink這項技術。
當前名稱:為什么Flink會成為下一代大數(shù)據(jù)處理框架的標準?
網(wǎng)頁路徑:http://m.rwnh.cn/news19/101919.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、關鍵詞優(yōu)化、網(wǎng)站設計公司、虛擬主機、網(wǎng)站設計、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容