flink有什麼優勢值得大家這麼熱衷

来源:https://www.cnblogs.com/nicekk/archive/2019/09/19/11546447.html
-Advertisement-
Play Games

flink 通過實現了 Google Dataflow 流式計算模型實現了高吞吐、低延遲、高性能兼具實時流式計算框架。 同時 flink 支持高度容錯的狀態管理,防止狀態在計算過程中因為系統異常而丟失,flink 周期性地通過分散式快照技術 Checkpoints 實現狀態的持久化維護,使得即使在系 ...


flink 通過實現了 Google Dataflow 流式計算模型實現了高吞吐、低延遲、高性能兼具實時流式計算框架。

同時 flink 支持高度容錯的狀態管理,防止狀態在計算過程中因為系統異常而丟失,flink 周期性地通過分散式快照技術 Checkpoints 實現狀態的持久化維護,使得即使在系統停機或者異常情況下都能計算出正確的結果。

具體的優勢有以下幾點

(1) 同時支持高吞吐、低延遲、高性能

是目前開源社區中唯一一套集高吞吐、低延遲、高性能三者於一身的分散式流式數據處理框架。

像 Apache Spark 也只能兼顧高吞吐和高性能特性,無法做到低延遲保障

Apache Storm 只能支持低延時和高性能特性,無法滿足高吞吐的要求

(2)支持事件時間(Event Time)概念

在流式計算領域中,視窗計算的地位舉足輕重,但目前大多數框架視窗計算採用的都是系統時間(Process Time),也是事件傳輸到計算框架處理時,系統主機的當前時間。

Flink 能夠支持基於事件時間(Event Time)語義進行視窗計算,這種基於事件驅動的機制使得事件即使亂序到達,流系統也能夠計算出精確的結果,保持了事件原本產生時的時序性,儘可能避免網路傳輸或硬體系統的影響。

(3)支持有狀態計算

所謂狀態就是在流式計算過程中將運算元的中間結果保存在記憶體或者文件系統中,等下一個事件進入運算元後可以從之前的狀態中獲取中間結果,計算當前的結果,從而無須每次都基於全部的原始數據來統計結果,極大的提升了系統性能

(4)支持高度靈活的視窗(Window)操作

Flink 將視窗劃分為基於 Time 、Count 、Session、以及Data-Driven等類型的視窗操作,視窗可以用靈活的觸發條件定製化來達到對複雜的流傳輸模式的支持,用戶可以定義不同的視窗觸發機制來滿足不同的需求

(5)基於輕量級分散式快照(Snapshot)實現的容錯

Flink 能夠分佈運行在上千個節點上,通過基於分散式快照技術的Checkpoints,將執行過程中的狀態信息進行持久化存儲,一旦任務出現異常停止,Flink 能夠從 Checkpoints 中進行任務的自動恢復,以確保數據愛處理過程中的一致性

(6) 基於 JVM 實現的獨立的記憶體管理

Flink 實現了自身管理記憶體的機制,儘可能減少 JVM GC 對系統的影響。
通過序列化/反序列化機制將所有的數據對象轉換成二進位在記憶體中存儲,降低數據存儲大小的同時,更加有效的利用空間,降低GC帶來的性能下降或任務異常的風險

(7)Save Points 保存點

對於 7 * 24 小時運行的流式應用,數據源源不斷的流入,在一段時間內應用的終止有可能導致數據的丟失或者計算結果的不准確。

比如集群版本的升級,停機運維操作等。

值得一提的是,Flink 通過Save Points 技術將任務執行的快照保存在存儲介質上,當任務重啟的時候,可以從事先保存的 Save Points 恢複原有的計算狀態,使得任務繼續按照停機之前的狀態運行。

還在等什麼,快去使用 flink 吧


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • JavaScript比較當前時間是否在指定時間段內,js 判斷當前時間(或者所選時間)是否在某一時間段 ...
  • 背景 從第一臺電腦誕生到現在已經七十多年了,電腦已經和我們的生活息息相關,很多小伙伴上來就接觸高端設備,電腦過去是怎麼發展起來的,我覺得還是瞭解一下會比較好,我是歷史愛好者,所以我個人認為學習任何東西都要瞭解它的過去,就像我以前歷史老師跟我說的“不瞭解過去的人,不會瞭解現在和未來”,這篇文章就 ...
  • 場景 我的CSDN: https://blog.csdn.net/BADAO_LIUMANG_QIZHI 實現 馬士兵Java學習視頻 方立勛JavaWeb 尚矽谷Python核心基礎 數據分析 機器學習 MYSQL 500本電子書 機器學習深度學習篇 軟體測試全套教程 Bootsrap 大數據從0 ...
  • 之前一次公司培訓的時候,將它記錄下來,https://www.cnblogs.com/AlvinLee/p/10180536.html這個博客上面比較全面。 1、擴展方法 擴展方法時一種特殊的靜態方法,可以像該類的實例方法一樣使用,能夠在不添加新的派生類,重新編譯的秦光霞,向現有類添加功能 註意事項 ...
  • 1.代碼生成器: [正反雙向](單表、主表、明細表、樹形表,快速開發利器)freemaker模版技術 ,0個代碼不用寫,生成完整的一個模塊,帶頁面、建表sql腳本、處理類、service等完整模塊2.多數據源:(支持同時連接無數個資料庫,可以不同的模塊連接不同數的據庫)支持N個數據源3.阿裡資料庫連 ...
  • 一、生產者消費者模型 二、協程 1.協程參考資料: http://python.jobble.com/86481/ http://python.jobble.com/87310/ https://segmentfault.com/a/1190000009781688 2.迭代器參考資料 可迭代(it ...
  • 說起來非常慚愧,我在 2008 年的時候就接觸了 Java,但一直到現在(2018 年 10 月 10 日),基礎知識依然非常薄弱。用一句話自嘲就是:十年 IT 老兵,Java 菜雞一枚。 於是,我想,不如靜下心來,重新讀一遍那些經典的 Java 技術書,並且沒讀完一章就輸出一篇原創技術文章。從哪一 ...
  • Python Flask高級編程之RESTFul API前後端分離精講 (免費分享) 點擊鏈接或搜索QQ號直接加群獲取其它資料: 鏈接:https://pan.baidu.com/s/12eKrJKN-MzscalsJKRoL5w 提取碼:88hj 免費分享,如若鏈接失效請加群 其它資源在群里,私聊 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...