Re-Architecting the Video Gatekeeper(二)

原文: https://medium.com/netflix-techblog/re-architecting-the-video-gatekeeper-f7b0ac2f6b00

想法

我們決定部署一個(gè)全高密度近場(chǎng)緩存(Hollow)來解決我們的IO瓶頸炕檩。對(duì)于我們的每個(gè)上游系統(tǒng),我們要建一個(gè)能讓Gatekeeper執(zhí)行這次評(píng)估的包括所有數(shù)據(jù)的Hollow數(shù)據(jù)集笛质。每個(gè)上游系統(tǒng)現(xiàn)在都需要保證它的緩存保持最新妇押。

使用這個(gè)模型,活躍性評(píng)估將數(shù)據(jù)從上游系統(tǒng)中隔離出來了俊马。相對(duì)于對(duì)事件進(jìn)行響應(yīng)肩杈,Gatekeeper會(huì)以一個(gè)重復(fù)的周期從遍布全世界的視頻數(shù)據(jù)中持續(xù)的處理活躍性數(shù)據(jù)。迭代周期從Netflix的每個(gè)視頻上線開始扩然,計(jì)算它們的活躍性信息。在每個(gè)周期的結(jié)束界睁,它產(chǎn)出一個(gè)經(jīng)過計(jì)算的表示全世界所有視頻的活躍性明細(xì)信息的輸出(包括Hollow數(shù)據(jù)集)索守。

我們希望這個(gè)持續(xù)處理模型是可行的,這樣我們可以徹底移除我們IO上的瓶頸杨赤,可以保證操作順序更有效截汪。我們也期望通過遷移到這個(gè)模型,我們可以對(duì)業(yè)務(wù)產(chǎn)生更正面的影響阳柔。

  • 作為對(duì)Gatekeeper對(duì)上游系統(tǒng)產(chǎn)生的過大的負(fù)載的最終解決方案
  • 徹底消除活躍性處理的延遲和錯(cuò)過上線日期的問題蚓峦。
  • 緩解內(nèi)容配置工程團(tuán)隊(duì)在性能相關(guān)問題的時(shí)間消耗。
  • 改進(jìn)活躍性處理的可調(diào)試性和可見性

問題

Hollow可以被想象為一個(gè)時(shí)間機(jī)器霍转。作為一個(gè)數(shù)據(jù)一直在變化的數(shù)據(jù)集一汽,通過將變更分成一系列的時(shí)間線的數(shù)據(jù)狀態(tài)并將變更發(fā)送給消費(fèi)方。每份數(shù)據(jù)狀態(tài)都表示為整個(gè)數(shù)據(jù)集在當(dāng)時(shí)時(shí)刻的一份快照。

通常恕沫,Hollow數(shù)據(jù)集的消費(fèi)者將加載的最新的數(shù)據(jù)狀態(tài)并將產(chǎn)生的新狀態(tài)保存到他們的混存中婶溯。當(dāng)然妇穴,它們可能會(huì)將狀態(tài)替換到之前的樣子 - 導(dǎo)致將整個(gè)數(shù)據(jù)集指向之前的一個(gè)狀態(tài)。

傳統(tǒng)產(chǎn)生數(shù)據(jù)狀態(tài)的方式是維護(hù)一個(gè)運(yùn)行重復(fù)周期的生產(chǎn)者腾它。在一個(gè)周期中,生產(chǎn)者從元數(shù)據(jù)中迭代所有記錄曲梗。在迭代中妓忍,它對(duì)Hollow庫中增加每條數(shù)據(jù)。Hollow則在之后計(jì)算數(shù)據(jù)的變化并在最后的周期將數(shù)據(jù)填加上去定罢,將數(shù)據(jù)狀態(tài)發(fā)布到一個(gè)已知地址的消費(fèi)者旁瘫。

這個(gè)基于真實(shí)數(shù)據(jù)源的迭代模型的問題是它可能會(huì)需要很長時(shí)間酬凳。在這個(gè)場(chǎng)景中一些我們的上游系統(tǒng),這需要幾小時(shí)宁仔。數(shù)據(jù)傳播延遲是不可接受的 - 我們不能為活躍性處理等待幾個(gè)小時(shí),比如权埠,標(biāo)題運(yùn)營給電影增加了一個(gè)評(píng)級(jí)并需要立即發(fā)布上線煎谍。

改進(jìn)

我們需要一個(gè)更快的時(shí)間機(jī)器 - 它可以更頻繁的產(chǎn)出狀態(tài),讓消費(fèi)方可以更快的識(shí)別到變化。

為了達(dá)到這個(gè)目標(biāo)事哭,我們建立了一套很強(qiáng)的Hollow基礎(chǔ)設(shè)施,平衡了之前Hollow library做的工作鳍咱,與流處理團(tuán)隊(duì)在Target生產(chǎn)環(huán)境做的先鋒性工作(現(xiàn)在是公開的非beta的API)

使用這套基礎(chǔ)設(shè)施,每次變更都可以在源應(yīng)用中唄檢測(cè)到蓄坏,更新過的記錄會(huì)被編碼并發(fā)送給Kafka topic丑念。一個(gè)不屬于源應(yīng)用的新組件,Hollow增量生產(chǎn)服務(wù)渔彰,以一個(gè)預(yù)定義的節(jié)奏執(zhí)行一個(gè)重復(fù)周期推正。 在每個(gè)周期,它讀取自從上個(gè)周期所有增加到topic的消息再沧,并讓Hollow狀態(tài)引擎反映出更新過的記錄的最新狀態(tài)尊残。

如果一個(gè)Kafka topic中的消息包含了已經(jīng)在Hollow數(shù)據(jù)集中已經(jīng)反映出來的相同數(shù)據(jù),不會(huì)有任何變動(dòng)夜郁。

為了緩解丟失事件產(chǎn)生的影響竞端,我們實(shí)現(xiàn)了一套周期性從整個(gè)數(shù)據(jù)集清掃的機(jī)制。當(dāng)它執(zhí)行時(shí)事富,它將每條記錄的內(nèi)容發(fā)送給Kafka topic统台。通過這種方式,任何可能丟失的更新都會(huì)反映到Hollow數(shù)據(jù)集上贱勃。并且谤逼,這不是更新傳播到Hollow數(shù)據(jù)集上的主要方式仇穗,它不需要像傳統(tǒng)Hollow使用方式那樣很快很頻繁的在源上迭代運(yùn)行纹坐。

Hollow增量生產(chǎn)者有從Kafka topic中讀取大量消息并快速轉(zhuǎn)變成Hollow狀態(tài)的能力 - 所以我們可以將這個(gè)周期配置的非常短(我們目前的缺省配置是30秒)。

這就是我們?nèi)绾螛?gòu)建一個(gè)更快時(shí)間機(jī)器的方式≡抛樱現(xiàn)在,如果標(biāo)題運(yùn)營給電影增加了一條評(píng)級(jí)绒障,在30秒內(nèi)片林,數(shù)據(jù)就可以在Hollow數(shù)據(jù)集上可用。

本文來自微信公眾號(hào)「麥芽面包焕妙,id「darkjune_think」
轉(zhuǎn)載請(qǐng)注明弓摘。微信掃一掃關(guān)注公眾號(hào)。
交流Email: zhukunrong@yeah.net

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末末患,一起剝皮案震驚了整個(gè)濱河市锤窑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌探橱,老刑警劉巖绘证,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異胞枕,居然都是意外死亡魏宽,警方通過查閱死者的電腦和手機(jī)决乎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門贫悄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來窄坦,“玉大人,你說我怎么就攤上這事凳寺。” “怎么了肠缨?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長晒奕。 經(jīng)常有香客問我,道長脑慧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任坑律,我火速辦了婚禮囊骤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘宫屠。我一直安慰自己滑蚯,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布乌逐。 她就那樣靜靜地躺著创葡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪洛波。 梳的紋絲不亂的頭發(fā)上胰舆,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天缚窿,我揣著相機(jī)與錄音焰扳,去河邊找鬼。 笑死扫茅,一個(gè)胖子當(dāng)著我的面吹牛育瓜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播躏仇,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼焰手,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了册倒?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤灿意,失蹤者是張志新(化名)和其女友劉穎崇呵,沒想到半個(gè)月后域慷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡抵窒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年叠骑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片掉房。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖瘾杭,靈堂內(nèi)的尸體忽然破棺而出哪亿,到底是詐尸還是另有隱情,我是刑警寧澤锣夹,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布银萍,位于F島的核電站恤左,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏飞袋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一瓶您、第九天 我趴在偏房一處隱蔽的房頂上張望纲仍。 院中可真熱鬧,春花似錦夜赵、人聲如沸乡革。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽视粮。三九已至,卻和暖如春馒铃,著一層夾襖步出監(jiān)牢的瞬間痕惋,已是汗流浹背娃殖。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來泰國打工炉爆, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人芬首。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓郁稍,卻偏偏與公主長得像,于是被迫代替她去往敵國和親耀怜。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容