国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Flink原理解析,Python程序員必看

這篇具有很好參考價(jià)值的文章主要介紹了Flink原理解析,Python程序員必看。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

容錯(cuò)機(jī)制


? 分布式環(huán)境下的流式處理平臺相對于批處理平臺而言,一個(gè)非常重要的問題是如何保證分布式計(jì)算節(jié)點(diǎn)在發(fā)生故障并恢復(fù)后最終的計(jì)算結(jié)果是正確的。在批處理的模式下,數(shù)據(jù)有界,在任務(wù)開始前我們就可以得到需要計(jì)算的所有數(shù)據(jù),如果節(jié)點(diǎn)出錯(cuò),最壞的情況下只需要對數(shù)據(jù)集進(jìn)行重新計(jì)算,但在流式處理模式下,數(shù)據(jù)是源源不斷產(chǎn)生并且無界的,節(jié)點(diǎn)故障恢復(fù)后無法從頭開始重新計(jì)算。

分布式快照

? 在網(wǎng)絡(luò)服務(wù)中,快照是比較常用的一個(gè)容錯(cuò)機(jī)制,比如Redis中就有基于RDB進(jìn)行數(shù)據(jù)恢復(fù)的策略,flink的快速容錯(cuò)機(jī)制也是基于快照的方式實(shí)現(xiàn)的。在單機(jī)環(huán)境下,保存快照比較簡單,只需要在某個(gè)時(shí)間點(diǎn)暫停任務(wù)處理并將當(dāng)前狀態(tài)持久化即可,但在分布式系統(tǒng)中,由于沒有一個(gè)全局時(shí)鐘,想要同時(shí)對所有計(jì)算節(jié)點(diǎn)的狀態(tài)進(jìn)行保存是很難做到的(要詳細(xì)了解可以參考附錄:分布式系統(tǒng)中的時(shí)鐘)。最簡單的實(shí)現(xiàn)方式是通過類似2PC的方式將所有節(jié)點(diǎn)任務(wù)都停止并進(jìn)行狀態(tài)保存,最后統(tǒng)一上報(bào),但這這種stop the world的方式會(huì)極大的增加計(jì)算延時(shí)和降低吞吐量。flink最終的解決方案是基于Chandy-Lamport算法改進(jìn)而來的Asynchronous Barrier Snapshotting(異步屏障快照)算法

Chandy-Lamport

? chandy-lamport算法的核心思想是將分布式系統(tǒng)抽象為一個(gè)有向圖,每個(gè)分布式節(jié)點(diǎn)作為頂點(diǎn),節(jié)點(diǎn)與節(jié)點(diǎn)之間的通信信道被抽象為圖的有向邊(input channel,output channel),在發(fā)起快照時(shí),每個(gè)節(jié)點(diǎn)會(huì)記錄自身狀態(tài)和input channel的狀態(tài),最終可以得到一個(gè)全局一致的快照,下面用一個(gè)例子詳細(xì)解釋。

? 如下圖所示,一個(gè)分布式系統(tǒng)中有兩個(gè)節(jié)點(diǎn)P1和P2,兩個(gè)節(jié)點(diǎn)分別有X,Y,Z三個(gè)狀態(tài),通過C12和C21兩個(gè)信道可以互相發(fā)送消息

Flink原理解析,Python程序員必看,2024年程序員學(xué)習(xí),flink,大數(shù)據(jù)

? 首先P1發(fā)起了一個(gè)快照操作(同時(shí)可以上報(bào)到一個(gè)全局的快照協(xié)調(diào)系統(tǒng)),他會(huì)先保存自身狀態(tài)[X1:0,Y1:0,Z1:0],并向下游發(fā)送一個(gè)特殊消息marker,用于通知下游節(jié)點(diǎn)也進(jìn)行快照操作,與此同時(shí),P2通過C21向P1發(fā)送了一條業(yè)務(wù)消息

Flink原理解析,Python程序員必看,2024年程序員學(xué)習(xí),flink,大數(shù)據(jù)

? 此時(shí)由于P1已經(jīng)完成了快照,在P2節(jié)點(diǎn)未完成快照之前不可以進(jìn)行消息處理,否則最后生成的全局快照會(huì)不一致,此時(shí)需要將它的輸入信道C21中的所有消息(目前只有M1)也追加到快照中,與此同時(shí)P2接收到了P1過來的marker信息,同樣進(jìn)行了快照操作

Flink原理解析,Python程序員必看,2024年程序員學(xué)習(xí),flink,大數(shù)據(jù)

? 最后P1接收到來自P2的marker信息,此時(shí)兩個(gè)節(jié)點(diǎn)快照都保存完畢(同樣可以上報(bào)到一個(gè)全局的快照協(xié)調(diào)系統(tǒng),告知快照操作結(jié)束),可以認(rèn)為全局快照生成成功

Flink原理解析,Python程序員必看,2024年程序員學(xué)習(xí),flink,大數(shù)據(jù)

? 可以看到整體的算法還是比較簡單易懂的,但要注意的是,此算法要求網(wǎng)絡(luò)的傳輸是有序的,可靠的(很容易就會(huì)想到TCP協(xié)議),需要嚴(yán)格保證消息和marker是按發(fā)送順序到達(dá)其他節(jié)點(diǎn)。

Asynchronous Barrier Snapshotting

? Chandy-Lamport雖然理解起來不復(fù)雜,但存在兩個(gè)比較大的問題。1是在進(jìn)行快照時(shí)節(jié)點(diǎn)不僅需要保存自身狀態(tài),還要保存所有input channer中的消息,這會(huì)導(dǎo)致快照體積比較大,并且基于快照進(jìn)行恢復(fù)時(shí)效率低,2是整個(gè)系統(tǒng)的運(yùn)行效率取決于最慢的計(jì)算節(jié)點(diǎn)。flink基于Chandy-Lamport算法進(jìn)行了改進(jìn),它的核心思想如下

? 每當(dāng)需要生成全局快照時(shí),流的source在產(chǎn)生的消息是插入一個(gè)帶ID的特殊信息,稱之為barrier(屏障),同時(shí)source會(huì)向快照協(xié)調(diào)者上報(bào)快照生成操作已啟動(dòng),并記錄自身offset(用于故障回復(fù)之后流的重放),這些屏障會(huì)將整個(gè)數(shù)據(jù)流切分為不同的數(shù)據(jù)集,當(dāng)下游的處理節(jié)點(diǎn)處理到屏障時(shí)會(huì)在本地保存一份快照,并向更下游廣播帶有相同ID的屏障,最終當(dāng)sink(流的輸出端)也處理到屏障時(shí),向協(xié)調(diào)者上報(bào)快照生成成功,還是以一個(gè)例子進(jìn)行說明

Flink原理解析,Python程序員必看,2024年程序員學(xué)習(xí),flink,大數(shù)據(jù)

如圖所示,上游節(jié)點(diǎn)的快照已保存成功并且向圖中的task節(jié)點(diǎn)輸出了兩個(gè)數(shù)據(jù)流,由于數(shù)據(jù)流1的處理速度較快,它的屏障N先到達(dá)了圖中的task處,此時(shí)節(jié)點(diǎn)需要暫時(shí)停止處理數(shù)據(jù)流1的消息并將消息保存在本地緩沖中,等到數(shù)據(jù)流2的屏障N也到達(dá)task時(shí),task會(huì)先保存本地狀態(tài)(快照)同時(shí)向下游廣播屏障N,這個(gè)操作被稱之為屏障的對齊,最終sink(輸出)也進(jìn)行屏障對齊之后,會(huì)向快照協(xié)調(diào)者上報(bào)全局快照生成成功,此時(shí)整個(gè)分布式系統(tǒng),包括圖中的task節(jié)點(diǎn)和上游的節(jié)點(diǎn)保存的快照是一致的,即只包含對于屏障N之前的消息的處理狀態(tài),如果發(fā)生故障,各節(jié)點(diǎn)快照中讀取狀態(tài),同時(shí)source屏障N的Offset處進(jìn)行消息回放即可

Asynchronous Barrier Snapshotting算法解決了需要保存額外消息的問題,但和Chandy-Lamport算法一樣,會(huì)導(dǎo)致整個(gè)分布式系統(tǒng)的計(jì)算效率受限于整個(gè)系統(tǒng)中最慢的節(jié)點(diǎn)(需要進(jìn)行屏障對齊),所以Blink/Flink支持關(guān)閉屏障對齊,在這種模式下,如果數(shù)據(jù)流1的屏障先到達(dá),task還是會(huì)繼續(xù)處理數(shù)據(jù)流1的后續(xù)數(shù)據(jù),只是在數(shù)據(jù)流2的屏障到達(dá)時(shí),會(huì)將兩個(gè)時(shí)間段內(nèi)處理的消息一起保存在快照中。在Blink中,快照被稱為Check Point

批處理和支持亂序


Flink中的時(shí)間和窗口

一、Python所有方向的學(xué)習(xí)路線

Python所有方向路線就是把Python常用的技術(shù)點(diǎn)做整理,形成各個(gè)領(lǐng)域的知識點(diǎn)匯總,它的用處就在于,你可以按照上面的知識點(diǎn)去找對應(yīng)的學(xué)習(xí)資源,保證自己學(xué)得較為全面。

Flink原理解析,Python程序員必看,2024年程序員學(xué)習(xí),flink,大數(shù)據(jù)

二、學(xué)習(xí)軟件

工欲善其事必先利其器。學(xué)習(xí)Python常用的開發(fā)軟件都在這里了,給大家節(jié)省了很多時(shí)間。

Flink原理解析,Python程序員必看,2024年程序員學(xué)習(xí),flink,大數(shù)據(jù)

三、入門學(xué)習(xí)視頻

我們在看視頻學(xué)習(xí)的時(shí)候,不能光動(dòng)眼動(dòng)腦不動(dòng)手,比較科學(xué)的學(xué)習(xí)方法是在理解之后運(yùn)用它們,這時(shí)候練手項(xiàng)目就很適合了。

Flink原理解析,Python程序員必看,2024年程序員學(xué)習(xí),flink,大數(shù)據(jù)

小編13年上海交大畢業(yè),曾經(jīng)在小公司待過,也去過華為、OPPO等大廠,18年進(jìn)入阿里一直到現(xiàn)在。

深知大多數(shù)初中級Python工程師,想要提升技能,往往是自己摸索成長或者是報(bào)班學(xué)習(xí),但自己不成體系的自學(xué)效果低效又漫長,而且極易碰到天花板技術(shù)停滯不前!

因此收集整理了一份《2024年P(guān)ython爬蟲全套學(xué)習(xí)資料》送給大家,初衷也很簡單,就是希望能夠幫助到想自學(xué)提升又不知道該從何學(xué)起的朋友,同時(shí)減輕大家的負(fù)擔(dān)。

由于文件比較大,這里只是將部分目錄截圖出來,每個(gè)節(jié)點(diǎn)里面都包含大廠面經(jīng)、學(xué)習(xí)筆記、源碼講義、實(shí)戰(zhàn)項(xiàng)目、講解視頻

如果你覺得這些內(nèi)容對你有幫助,可以添加下面V無償領(lǐng)?。。▊渥ⅲ簆ython)
Flink原理解析,Python程序員必看,2024年程序員學(xué)習(xí),flink,大數(shù)據(jù)

這里只是將部分目錄截圖出來,每個(gè)節(jié)點(diǎn)里面都包含大廠面經(jīng)、學(xué)習(xí)筆記、源碼講義、實(shí)戰(zhàn)項(xiàng)目、講解視頻**

如果你覺得這些內(nèi)容對你有幫助,可以添加下面V無償領(lǐng)?。。▊渥ⅲ簆ython)
[外鏈圖片轉(zhuǎn)存中…(img-oe40zdzx-1710966625231)]文章來源地址http://www.zghlxwxcb.cn/news/detail-845486.html

到了這里,關(guān)于Flink原理解析,Python程序員必看的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【12章 Java IO流】程序員必看 IO流 詳解

    【12章 Java IO流】程序員必看 IO流 詳解

    ?愛在開頭 ?博客主頁: 努力的小鳴人 ?系列專欄: JavaSE超詳總結(jié)?? ?歡迎小伙伴們, 點(diǎn)贊??關(guān)注??收藏?? 一起學(xué)習(xí)! ?如有錯(cuò)誤的地方,還請小伙伴們指正!?? ??系列傳送門 : JavaSE超詳總結(jié)?? 【附章5計(jì)算機(jī)字符編碼】多種字符編碼集的說明【熱榜】 【11章J

    2023年04月16日
    瀏覽(19)
  • 一分鐘看懂:前端和后端,哪個(gè)更簡單?轉(zhuǎn)行程序員必看!

    大家好,這里是程序員晚?xiàng)?,專注于轉(zhuǎn)行程序員的1對1咨詢,小紅薯也叫這個(gè)名。 想轉(zhuǎn)行程序員的朋友,在選擇方向的時(shí)候都會(huì)遇到一個(gè)問題: 哪個(gè)技術(shù)方向適合我?前端和后端哪個(gè)更簡單? 今天咱們就來一起分析一下~ 很多網(wǎng)上的消息或者培訓(xùn)機(jī)構(gòu)的廣告會(huì)告訴你:前端比

    2024年02月07日
    瀏覽(19)
  • 黑馬程序員pink老師前端入門教程,零基礎(chǔ)必看的h5(html5)+css3+移動(dòng)端

    黑馬程序員pink老師前端入門教程,零基礎(chǔ)必看的h5(html5)+css3+移動(dòng)端

    1.1什么是網(wǎng)頁? 1.2什么是HTML? 2.1常用的瀏覽器 2.2瀏覽器內(nèi)核 ?3.1為啥需要Web標(biāo)準(zhǔn)? 3.2Web標(biāo)準(zhǔn)的構(gòu)成 : 4.1基本語法概述: 4.2標(biāo)簽關(guān)系: 5.1HTML網(wǎng)頁: ? 6.1VSCode常用快捷鍵: 第二篇:前端VSCode常用插件-快捷鍵-以及常用技巧-pink老師 - 嗶哩嗶哩 快速復(fù)制一行:shift+alt+下/上箭

    2024年04月08日
    瀏覽(42)
  • 面試流程解析:從初面到終面,程序員需要注意什么

    面試流程解析:從初面到終面,程序員需要注意什么

    ???? 博主貓頭虎 帶您 Go to New World.??? ?? 博客首頁——貓頭虎的博客?? ??《面試題大全專欄》 文章圖文并茂??生動(dòng)形象??簡單易學(xué)!歡迎大家來踩踩~?? ?? 《IDEA開發(fā)秘籍專欄》學(xué)會(huì)IDEA常用操作,工作效率翻倍~?? ?? 《100天精通Golang(基礎(chǔ)入門篇)》學(xué)會(huì)Golang語言

    2024年02月10日
    瀏覽(25)
  • 1024程序員節(jié)特輯:【Spring Boot自動(dòng)配置原理揭秘】

    1024程序員節(jié)特輯:【Spring Boot自動(dòng)配置原理揭秘】

    主頁傳送門:?? 傳送 ??Spring Boot 是一個(gè)用于創(chuàng)建獨(dú)立的、生產(chǎn)級別的 Spring 應(yīng)用程序的框架。它極大地簡化了 Spring 應(yīng)用程序的開發(fā)過程,其中一個(gè)關(guān)鍵的功能就是自動(dòng)配置(Auto-Configuration)。 ??自動(dòng)配置可以根據(jù)項(xiàng)目需求自動(dòng)配置各種服務(wù)和組件,它可以幫助開發(fā)者

    2024年02月08日
    瀏覽(35)
  • 《MySQL數(shù)據(jù)庫原理、設(shè)計(jì)與應(yīng)用》課后習(xí)題及答案 黑馬程序員編著

    答案有文檔形式,但是csdn必須要下載,,需要的人就去那里下載吧。《MySQL數(shù)據(jù)庫原理、設(shè)計(jì)與應(yīng)用》課后習(xí)題及答案黑馬程序員編著 一、 填空題 1.關(guān)系型數(shù)據(jù)庫的標(biāo)準(zhǔn)語言是_ SQL _。 2.數(shù)據(jù)庫發(fā)展的3個(gè)階段中,數(shù)據(jù)獨(dú)立性最高的是_ 數(shù)據(jù)庫系統(tǒng) _階段。 3.概念模型中的3種基

    2024年02月03日
    瀏覽(33)
  • 【程序員必備】UE4 C++ 虛幻引擎:詳解JSON文件讀、寫、解析,打造高效開發(fā)!

    【程序員必備】UE4 C++ 虛幻引擎:詳解JSON文件讀、寫、解析,打造高效開發(fā)!

    ???♂? 作者:海碼007 ?? 專欄:UE虛幻引擎專欄 ?? 標(biāo)題:【程序員必備】UE4 C++ 虛幻引擎:詳解JSON文件讀、寫、解析,打造高效開發(fā)! ?? 寄語:人生的意義或許可以發(fā)揮自己全部的潛力,所以加油吧! ?? 最后: 文章作者技術(shù)和水平有限,如果文中出現(xiàn)錯(cuò)誤,希望大

    2024年02月03日
    瀏覽(23)
  • [學(xué)習(xí)筆記]黑馬程序員python教程

    [學(xué)習(xí)筆記]黑馬程序員python教程

    1.9.1異常的捕獲 1.9.1.1 為什么要捕獲異常 1.9.1.2 捕獲常規(guī)的異常 1.9.1.3 捕獲指定的異常 e是接受異常信息的變量 1.9.1.4 捕獲多個(gè)異常 1.9.1.5 捕獲全部異常 1.9.1.6 異常的else 1.9.1.7 異常的finally 1.9.2 異常的傳遞 如果異常是在某一層產(chǎn)生,但是沒有被catch,那么會(huì)繼續(xù)往上層拋出,此

    2024年02月07日
    瀏覽(127)
  • Python黑馬程序員(Spark實(shí)戰(zhàn))筆記

    Python黑馬程序員(Spark實(shí)戰(zhàn))筆記

    ?pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspark 注意:字符串返回的是[\\\'a\\\',\\\'b\\\',\\\'c\\\',\\\'d\\\',\\\'e\\\',\\\'f\\\',\\\'g\\\']? ?字典返回的是[\\\'key1\\\',\\\'key2\\\']?? 讀取hello.txt的內(nèi)容: 注意: 如果沒有添加上行代碼程序會(huì)報(bào)出錯(cuò)誤! Caused by: org.apache.spark.SparkException: Python worker failed to connect back. ?解釋器的位置

    2024年02月05日
    瀏覽(96)
  • python算法指南程序員經(jīng)典,python算法教程pdf百度云

    python算法指南程序員經(jīng)典,python算法教程pdf百度云

    大家好,小編來為大家解答以下問題,你也能看懂的python算法書 pdf,python算法教程這本書怎么樣,現(xiàn)在讓我們一起來看看吧! ? 給大家?guī)淼囊黄P(guān)于算法相關(guān)的電子書資源,介紹了關(guān)于算法、詳解、算法基礎(chǔ)方面的內(nèi)容,本書是由人民郵電出版社出版,格式為PDF,資源大

    2024年02月14日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包