《騰訊1300場NBA直播背后的技術(shù)力量》要點(diǎn):
本文介紹了騰訊1300場NBA直播背后的技術(shù)力量,希望對您有用。如果有疑問,可以聯(lián)系我們。
李震東
騰訊 OMG運(yùn)維副總監(jiān)
先后負(fù)責(zé)騰訊網(wǎng)、騰訊新聞、騰訊視頻等多個(gè)業(yè)務(wù)的運(yùn)維工作,對直播流暢,海量,秒開,低延時(shí)上有深入研究,目前專注于構(gòu)建直播自動化系統(tǒng),直播監(jiān)控體系構(gòu)建,直播播放質(zhì)量優(yōu)化工作,并在好聲音,livemusic演唱會,NBA直播中得到口碑驗(yàn)證.
我們在一些重要工作的挑戰(zhàn)過程中逐步在提升技術(shù),本文就介紹我最近一年多做海量直播的工作內(nèi)容,其中選擇了最具代表性的,每年有1300場的NBA直播.
從2015年起到2016年,是整個(gè)直播行業(yè)興起的階段,涌現(xiàn)了大量直播的業(yè)務(wù).直播為什么在這一兩年帶來飛躍的提升?其實(shí)主要是有四個(gè)點(diǎn)組成.
大家能夠掌握到第一手的資料,滿足八卦心理的時(shí)候,大家也是非常愿意的.這里其實(shí)不僅僅是女生愛八卦,男生其實(shí)也愛八卦,只是內(nèi)容不一樣而已.
整體這些因素的出現(xiàn),包括整個(gè)技術(shù)的輔助,是把我們整個(gè)直播的行業(yè)帶來了一些新的高度,可以說是最火的高度,什么都可以直播,現(xiàn)在也在直播,感謝直播團(tuán)隊(duì),我知道他們很辛苦.
一個(gè)優(yōu)秀的直播需要什么樣的要素?人人都想直播,但是直播怎么才能做得好?我當(dāng)時(shí)是有面臨壓力的,騰訊這一個(gè)大互聯(lián)網(wǎng)公司,如果直播搞不好,用戶不滿意的話,會面臨巨大的口碑問題.
一些優(yōu)秀的技術(shù)點(diǎn)我列舉了一下,包括畫質(zhì)一定要清晰,比如看一場維密秀,一定要有添屏的感覺,關(guān)鍵部分不是很清晰的時(shí)候,彈幕都受不了, 1080P 畫質(zhì)還不如720P.
你看一場球賽,別人都已經(jīng)要投籃了,這時(shí)卡住了,然后這個(gè)球沒進(jìn),不知道當(dāng)時(shí)看直播的人是什么心情,什么破直播.
還有音畫同步,這種場景也是非常重要的,比如有些互動環(huán)節(jié),我說大家有個(gè)提問環(huán)節(jié),請線上的朋友有什么問題想問的,然后我發(fā)現(xiàn)難道大家對我的演講不喜歡嗎,后面有人發(fā)微信告訴我,信號還沒傳到,我就多等兩分鐘,估計(jì)下面的人要崩潰了.
包括延時(shí)還有音畫同步,在演唱會過程中,彈幕突然罵了,又在假唱.歌星說明沒假唱,這次是真唱.還沒假唱,截圖,錄了一段視頻確實(shí),歌詞明明已經(jīng)唱到很前面了,嘴型還不對,這就是典型的音畫不同步.
當(dāng)然還有更多的情況,后面我還會具體的介紹,這么多的技術(shù)要求給到我們的直播時(shí),因?yàn)橹辈ゴ_實(shí)是需要有非常高的體驗(yàn)要求的業(yè)務(wù),怎么做好才能減少挨罵?才能減少干不好就別干的概率呢?
接下來跟大家介紹NBA過程中的典型場景,我們面臨這么多的技術(shù)要求,這么多的用戶壓力,怎么去做技術(shù)的選型?直播還是一個(gè)蠻復(fù)雜的技術(shù),因?yàn)樗芏喹h(huán)節(jié).
比如整個(gè)視頻直播包括從視頻采集、傳輸、包裝、編碼、推流、轉(zhuǎn)碼、分發(fā)解碼和播放等多個(gè)環(huán)節(jié),不算其他我們總共有十八個(gè)環(huán)節(jié),再比如說機(jī)位1機(jī)位2機(jī)位3,要做簡單的信號處理,上衛(wèi)星或者是網(wǎng)絡(luò)傳輸,網(wǎng)絡(luò)傳輸再傳到節(jié)目制作中心,再進(jìn)行包裝,包裝完了以后開始分發(fā)給用戶.
除此以外還面臨著各種用戶的需求,各種清晰度的需求,因?yàn)橛脩舻木W(wǎng)絡(luò)受眾都不太一樣,清晰度可能不太一樣,這是需要多清晰度的,還要設(shè)多個(gè)終端,比如說 FLV 和 HLS,再經(jīng)過一定的分發(fā)去走內(nèi)容分發(fā)的網(wǎng)絡(luò),最后到各個(gè)用戶的終端,終端還要進(jìn)行適配技術(shù),整個(gè)過程是非常復(fù)雜的.
簡單先介紹我們在NBA直播過程中面臨的技術(shù)問題和當(dāng)時(shí)怎么解決的.主要我列了四個(gè)點(diǎn).
但是大家都有監(jiān)控,騰訊也有這個(gè)課程,現(xiàn)在的監(jiān)控是已經(jīng)到了新的層面,除了現(xiàn)在必要的監(jiān)控的各個(gè)環(huán)節(jié)以外,另外是大數(shù)據(jù)的沖擊.每天整個(gè)監(jiān)控的信息,一天差不多有2000億條,這數(shù)據(jù)如何收集起來,如何進(jìn)行分析,如何快速的在極短時(shí)間內(nèi)發(fā)現(xiàn)問題所在,幫助我們快速定位.這是一個(gè)巨大的挑戰(zhàn),這就涉及到大數(shù)據(jù)處理.
我現(xiàn)在就開始一個(gè)個(gè)說當(dāng)時(shí)我們是怎么來解決這個(gè)問題的.這是2015年的夏季,當(dāng)時(shí)接到這個(gè)任務(wù)的時(shí)候挺開心的,NBA是很大的投入,騰訊每年投入一個(gè)億,還是美金,公司把這么重要的任務(wù)交給我們,要體現(xiàn)我們的價(jià)值.干得好,升值加薪不在話下,干得不好,可能就要去財(cái)務(wù)領(lǐng)工資了,所以風(fēng)險(xiǎn)和機(jī)會永遠(yuǎn)是并存的.
但是直播第一天的時(shí)候傻眼了,因?yàn)楫嬅孢@樣了,有深深無助的壓力.領(lǐng)導(dǎo)說,你這問題怎么解決?因?yàn)橐郧皬膩頉]搞過直播,我們就開始分析,因?yàn)閭鞑ミ^程中為了滿足低延時(shí)和實(shí)時(shí)性都采用 UDP 的傳輸.
但是是像車隊(duì)一樣,很容易造成一些卡頓的情況,因?yàn)橐坏﹤鬏斠M(jìn)行一些同傳的時(shí)候,包卡在那里,視頻的畫面都是經(jīng)過大量的壓縮,一個(gè)包丟失的話可能是一個(gè)區(qū)塊,一個(gè)像素的影響,我們在傳輸過程中那么遠(yuǎn)的距離傳輸,勢必導(dǎo)致丟包,一旦丟包就出現(xiàn)了畫面的卡頓.當(dāng)時(shí)不管是運(yùn)營還是各種技術(shù),都說要解決.其實(shí)有解決的辦法,我后面再說.
我們當(dāng)時(shí)選擇的方式是網(wǎng)絡(luò)傳輸,從美國的新澤西機(jī)房一直到傳過北美大陸,傳過太平洋,再從香港的節(jié)點(diǎn)到北京,這么大的距離,我們當(dāng)時(shí)測了一下距離,是17286.59公里,這么遠(yuǎn)的距離,大海有自然因素,可能會有海嘯,非常容易導(dǎo)致整個(gè)線路的不穩(wěn)定.
可能有些同學(xué)就說了,為什么不用衛(wèi)星傳輸?衛(wèi)星傳輸是很簡單的,只要經(jīng)過兩個(gè)衛(wèi)星就行,美國衛(wèi)星發(fā)過歐洲的衛(wèi)星,歐洲的衛(wèi)星再中轉(zhuǎn)給中國的衛(wèi)星.
衛(wèi)星傳輸確實(shí)是簡單,但是價(jià)格是非常昂貴的,可以說通過衛(wèi)星傳輸?shù)脑?差不多是網(wǎng)絡(luò)傳輸?shù)膬r(jià)格的50倍,網(wǎng)絡(luò)傳輸價(jià)格已經(jīng)很貴了,如果1300場都用衛(wèi)星傳輸不太現(xiàn)實(shí).
所以出現(xiàn)剛才的畫面,網(wǎng)絡(luò)很難再提升了,很難再去做更大的優(yōu)化.我們直接把丟包率的要求降低到了10%,但是連續(xù)丟包也是不行,一行丟兩個(gè)包或者三個(gè)包也是不行.這樣就把整個(gè)畫面容錯(cuò)率降到差不多千分之五的概率.
原來一場比賽每天都會有一些畫面的情況,但是現(xiàn)在已經(jīng)把一場比賽基本上是十場比賽才可能出現(xiàn)一個(gè)很短暫、很細(xì)微的畫面感覺.如果大家在遠(yuǎn)距離傳輸中出現(xiàn)問題,可以去看這個(gè)糾錯(cuò)技術(shù),這個(gè)矩陣只要不斷變小的話,甚至變成2-2的矩陣的話,糾錯(cuò)能力會更強(qiáng).
但是它帶來另外一個(gè)因素,加了大量糾錯(cuò)碼的話,會把傳輸過程中的碼率變大,因?yàn)榧恿思m錯(cuò)碼以后,像已經(jīng)加了20%的流量,原來只要1兆的,加上之后可能到1.2兆,典型的是用空間去換取時(shí)間的方式.
我們當(dāng)時(shí)還研究了美國軍方無線傳輸過程中的方式,這里就不說了,基本上就能夠解決.
當(dāng)然我們在重要比賽的時(shí)候,還是會把衛(wèi)星的傳輸信號當(dāng)成一個(gè)備用方案,所以信號的傳輸過程中主要是利用糾錯(cuò)的技術(shù)和多轉(zhuǎn)多發(fā)的技術(shù),去降低我們在整個(gè)信號傳輸過程中的花屏或者中斷的影響.
當(dāng)信號完美傳到制作中心的時(shí)候,這時(shí)候就開心要進(jìn)行一些節(jié)目制作中的包裝了,比如說加一些字幕,通過字幕機(jī)把球員信息轉(zhuǎn)化成中文的信息.
我們還可以利用一些AR技術(shù),將我們在比賽過程中一些互動的過程,或者一些數(shù)據(jù)的分析加到直播畫面過程中.
比較重要的一點(diǎn)是多角度,這是提升用戶在觀看過程中的吸引力,比如加了英文的原音還有低角度和右籃板多視角的技術(shù).整個(gè)過程完成了節(jié)目的傳輸和制作包裝的過程.
到了重點(diǎn)的地方了,節(jié)目已經(jīng)準(zhǔn)備好了,接下來就要傳給用戶,傳播給用戶的過程中,具體是有要求的,就是流暢度.
首先是最普世的技術(shù),CDN 的技術(shù),我們在全國部署了500個(gè) CDN 的節(jié)點(diǎn),包括新疆、香港這些地區(qū),包括很偏遠(yuǎn)的云貴地區(qū).
CDN 是一個(gè)比較成熟的技術(shù)了,把用戶的內(nèi)容推到離用戶最近的地方,擁有500個(gè)節(jié)點(diǎn)以后,還做了提升用戶接入速度的技術(shù),我們直接使用IP的調(diào)度,沒有經(jīng)過 DNS 的解析,節(jié)省了用戶在接入過程中的時(shí)間.另外就是我們會對整體狀況進(jìn)行實(shí)時(shí)統(tǒng)計(jì).
有了優(yōu)秀的 CDN 技術(shù)和覆蓋以后,是不是就真的能夠滿足兩秒打開的要求?其實(shí)不是的,因?yàn)橹辈ミ^程中有一個(gè)重要的特點(diǎn)是,直播開始的效率.
直播不是24小時(shí)都有的,有時(shí)候信號沒有了,用戶根本就不用去看,但是一旦直播開始,比如說一場球賽開始,這時(shí)候用戶會有非常強(qiáng)的直播效應(yīng)就是進(jìn)入效應(yīng).
像騰訊擁有包括微信、QQ的渠道,NBA一場比賽開始的時(shí)候,一分鐘內(nèi)我們的用戶就能夠達(dá)到峰值,每一分鐘進(jìn)入大概都是在200多萬.
人多的時(shí)候就會擁擠,不是技術(shù)無能,是用戶實(shí)在太多了,我們可以去想象一下,每次在刷票的過程中,看到12306的時(shí)候,每個(gè)人都罵12306的時(shí)候,我是堅(jiān)決不罵的,因?yàn)槟莻€(gè)量確實(shí)太大了,每天有多少人,具體的數(shù)據(jù)12306都會公布.
在海量用戶的時(shí)候,大家都想在那個(gè)時(shí)刻進(jìn)入的時(shí)候,確實(shí)是很難支撐的,那怎么辦?生活還是要繼續(xù),盡量還是要保住飯碗.
在快速海量的用戶進(jìn)入的過程中,在這么強(qiáng)大的用戶沖擊下面,它會造成對用戶的沖擊分為哪些方面,我這里總結(jié)了是兩個(gè)方面.
第一個(gè)是用戶快速進(jìn)入的時(shí)候會造成局部系統(tǒng)的擁塞,另外就是用戶實(shí)在太多了,我的系統(tǒng)沒辦法支撐了,這時(shí)候該怎么辦?局部的擁塞是用預(yù)調(diào)度的策略,就是用戶來得快,我的應(yīng)對機(jī)制更快.
第二是柔性降級,是海量技術(shù)里非常重要的一個(gè)思路,其實(shí)是通過服務(wù)有損的方式對用戶提供服務(wù).
舉個(gè)例子,比如說現(xiàn)在只準(zhǔn)備了一百個(gè)位置,卻來了兩百人的時(shí)候,這時(shí)候該怎么辦?如果是無序的,什么都不干,可能會在現(xiàn)場打起來,那會引起更大的混亂.
這時(shí)候怎么辦?如果你的平臺的能力已經(jīng)無法完全支撐這么多用戶,預(yù)估是不準(zhǔn)的時(shí)候怎么辦?就需要有柔性降級的策略,我接下來詳細(xì)說.
天下武功唯快不破.當(dāng)用戶快速進(jìn)入,勢必而言會對局部系統(tǒng)給出很大壓力,我們怎么快速分解這部分壓力?這里用了兩個(gè)重要方式.
當(dāng)我們滿足什么條件時(shí),機(jī)房沖破的概率一旦超過60%的時(shí)候,可能流量還沒有到60%,只到30%,但是我們發(fā)現(xiàn)流量的產(chǎn)生曲線已經(jīng)大概率可能出現(xiàn)沖破機(jī)房的情況時(shí),我們就把機(jī)房提前分流,它就不再進(jìn)入機(jī)房了.
之前我們跌倒就是因?yàn)檠舆t只有一分鐘,但是一分鐘過程中用戶進(jìn)入這個(gè)領(lǐng)域的時(shí)候,已經(jīng)完全把機(jī)房沖跨了,但是我們開始預(yù)測,只要前一分鐘的曲線,可能會出現(xiàn)把機(jī)房沖爆,就不再給機(jī)房導(dǎo)流.提前進(jìn)行分流,通過預(yù)調(diào)度方式解決局部的擁塞問題,就是快,甚至是通過預(yù)測的方式.
調(diào)度策略—柔性策略
另外的方式就是柔性解決全局擁塞風(fēng)險(xiǎn),當(dāng)然我們有一個(gè)非常豐富的用戶在線預(yù)測體系,也會根據(jù)每一場比賽的球隊(duì)粉絲數(shù)還有不可控因素,還有這場比賽推哪些渠道和引流,每個(gè)比賽之前都會有專業(yè)的數(shù)據(jù)分析,比如這場比賽可能會有五百萬人或者六百萬人,但實(shí)際上預(yù)測是很重要的環(huán)節(jié),但不是絕對安全的環(huán)節(jié).沒辦法預(yù)測完全準(zhǔn)確,就像九三閱兵的時(shí)候,大家都預(yù)測有多少人會看閱兵,最后讓我們大跌眼鏡,每個(gè)人都在看閱兵,所以預(yù)測不是絕對可靠的,只能做一個(gè)理論的依據(jù).
方法一:排隊(duì)
如果我預(yù)測的一桌人,來了兩桌人怎么辦?怎么樣不形成現(xiàn)場的混亂,這時(shí)候一定要有柔性機(jī)制,我們有很多的方法.
第一個(gè)方法就是排隊(duì),當(dāng)一個(gè)用戶去預(yù)測,比如只有五百萬人,卻來了五百零二萬人的時(shí)候,這時(shí)候不要直接擠進(jìn)來,直接進(jìn)來就容易進(jìn)行資源的競爭,直播是一個(gè)高資源帶寬的業(yè)務(wù),一旦形成資源競爭,用戶下載不到足夠數(shù)據(jù)就會產(chǎn)生卡頓,這時(shí)候就讓他先不進(jìn)來,讓他先等一等.
方法二:柔性降級
有人說等不了怎么辦?那也沒有辦法,如果進(jìn)來了就會影響剩下的五百萬人,可能就會打起來的情況.也可能會提供一些更豐富的場景,比如說如果用戶特別多的時(shí)候,像演唱會甚至比賽,這時(shí)候我們會提供一些視頻流,沒辦法提供就是提供音頻流,像王菲演唱會專門提供了音頻流,如果用戶太多了,帶寬不夠,用戶還可以選擇音頻.
這就是柔性降級的重要策略,千萬不要因?yàn)槌鲱A(yù)期了,讓這部分人去無序和現(xiàn)有已經(jīng)能夠服務(wù)很好的人造成資源競爭,如果產(chǎn)生這種競爭的話,整個(gè)服務(wù)體系就會全部崩潰了,所以一定要有預(yù)案,要有一個(gè)準(zhǔn)入機(jī)制,或者有一些降級的豐富的手段,既能保證現(xiàn)有的用戶,體驗(yàn)不受到影響,也能對想進(jìn)來的人有一個(gè)很好的預(yù)案去解釋.
調(diào)度策略就是這兩種,如果用戶在快速進(jìn)入過程中的話,如果只是局部的,那就是以快制快,通過更快的速度拿到我們現(xiàn)場的機(jī)房流量,另外一個(gè)方式就是通過柔性方式,當(dāng)用戶來得我們無法承擔(dān)的時(shí)候,不是說用戶從A機(jī)房挪到B機(jī)房能夠解決的時(shí)候,這時(shí)候就要極少解決,排隊(duì)或者降級策略,比如說音頻或者低清晰度畫質(zhì),來滿足部分用戶,避免他造成全局用戶的影響.
把2秒法則和卡頓解決之后,通過在應(yīng)對各種用戶場景的技術(shù)的情況下,就能夠很好的把流暢度需求解決掉,用戶還是會有一些需求的,兩秒是用戶基本的耐心,但是用戶還想更快看到畫面,這里有個(gè)重要的技術(shù)就是秒開的技術(shù),就是如何讓用戶更快看到畫面,事情無絕對,能做到極致.
這里用的是I幀壓縮去掉圖像的空間冗余度,I幀是可以完全解碼的,只是幀內(nèi)的壓縮,沒有摻雜時(shí)間的屬性,I幀能夠獨(dú)立解碼出來,P幀需要依賴于I幀,這時(shí)候是解不出來畫面的,需要去參考前面的I幀,通過I幀把背景信息和運(yùn)動信息補(bǔ)齊,這里是帶運(yùn)動參數(shù)才能解出來,而B幀是雙向幀,也是解不出來,它還要依賴于后面的P幀,所以基本上就是這樣的畫面壓縮邏輯.B幀就需要同時(shí)拿到I幀和P幀,根據(jù)拿到的壓縮數(shù)據(jù)去解壓.
之前是一個(gè)無序的過程,就是可能會給你I幀,也會給你B幀,也會給你P幀,如果你下的是B幀,那解不出來,把I幀先下完,再把P幀下完,才能夠解壓出來.這種情況就會出現(xiàn)需要下載更多的數(shù)據(jù),等待更長的時(shí)間才能看到畫面,這樣對于追求技術(shù)極致的人是沒辦法忍受的.
我們就用了一個(gè)技術(shù),讓用戶更快看到畫面的技術(shù),首先我都是下I幀,這個(gè)和播放器一起去改造,用戶下到I幀馬上畫面就出來,降低用戶的時(shí)間,降低了接近兩百毫秒,讓我們的上帝去看到畫面的速度又提升了兩百毫秒.
但在體育大型的賽事直播,尤其是個(gè)人主播的時(shí)候,體現(xiàn)的優(yōu)勢會更加明顯,通過這些技術(shù),我記得有一個(gè)有意思的問題.當(dāng)時(shí)有一個(gè)同學(xué)說,這個(gè)東西很難嗎?我說其實(shí)感覺不是特別難,概念一說很清楚,改造的話估計(jì)一兩個(gè)星期就可以了.
他說,為什么不難的技術(shù),其他的直播或者行業(yè)做不到呢?我當(dāng)時(shí)回答的是,我覺得做技術(shù)或者海量的話其實(shí)應(yīng)該有兩個(gè)點(diǎn),第一個(gè)是單純一個(gè)點(diǎn)解決起來是不困難的,困難的是把一個(gè)技術(shù)體系,針對于這個(gè)業(yè)務(wù),這個(gè)方面遇到的各種問題解決.
我們解決了 CDN 問題,解決了純屬問題,在 CDN 上又直接調(diào)度問題,解決了流暢性上海量沖擊的問題,再加上解決了打開畫面快速的問題,實(shí)際上是有很多的點(diǎn)去解決的.把整個(gè)點(diǎn)再復(fù)盤一下,才慢慢形成一套方法,并不是一兩個(gè)點(diǎn)能夠來解決.
所以海量技術(shù)并不是容易解決,而是過程中不放棄,把每個(gè)技術(shù)點(diǎn)做到極致,而且是非常適合自己的業(yè)務(wù)體驗(yàn)的極致.
最后說一下關(guān)于監(jiān)控的問題,全流程監(jiān)控是為了發(fā)現(xiàn)質(zhì)量問題,比如說基礎(chǔ)監(jiān)控是最底層的,包括 CPU、內(nèi)存、網(wǎng)卡、IO硬件,還有網(wǎng)絡(luò),因?yàn)楝F(xiàn)在都是互聯(lián)網(wǎng)服務(wù),網(wǎng)絡(luò)監(jiān)控是必須的,比如說點(diǎn)到點(diǎn) ping 的延時(shí),udp探測,鏈路分段檢測,慢速這些監(jiān)控,另外就是播放,播放屬于業(yè)務(wù)層,這個(gè)時(shí)候就需要有包括對播放量、打開時(shí)間、卡頓時(shí)長、卡頓率和失敗率,包括一些碼流去監(jiān)控.
另外針對直播的業(yè)務(wù)屬性,更加偏向業(yè)務(wù)的監(jiān)控,比如說直播流,比如說黑屏能不能監(jiān)控,用戶看到的畫面是不是屏幕已經(jīng)變黑了,或者可能是馬賽克,可能有慢速或者丟包導(dǎo)致的情況,另外就是靜音,直播過程中用戶是不是聽不到畫面了,或者爆音,用戶聽到刺耳的聲音,還有轉(zhuǎn)碼這些過程.這是一個(gè)立體化的模型,所有這些點(diǎn)聚合起來的時(shí)候,前面我提到各種數(shù)據(jù)上報(bào),包括后臺日志.
日志整體一天是2千億條,未來可能會超過5千億條,這么大的量半天以后拿到結(jié)果或者一天后再拿到結(jié)果,黃花菜都涼了,怎么辦?我們需要的是分鐘級的.
傳統(tǒng)的方式已經(jīng)不再適應(yīng)需求,現(xiàn)在面臨的是每天千億的數(shù)據(jù),每條可能有一百個(gè)維度,數(shù)據(jù)量每天超過100,我們還需要有一個(gè)秒級的響應(yīng),要求打開的速度是10秒鐘響應(yīng),延遲是30秒.這時(shí)候我們就要引入新的技術(shù),面向分析,面向搜索的技術(shù),去推進(jìn)我們在監(jiān)控領(lǐng)域面臨的數(shù)據(jù)量的挑戰(zhàn).
這是我們的大數(shù)據(jù)處理流程,其實(shí)是一個(gè)比較經(jīng)典的大數(shù)據(jù)處理流程,是從各個(gè)終端,包括蘋果、安卓、TV、PAD、PC web 這些,把數(shù)據(jù)上報(bào)以后,通過日志式的采集系統(tǒng)接收,經(jīng)過簡單的清洗和Kafka傳遞到Spark集群,計(jì)算維度,統(tǒng)計(jì)完了以后生成我們的數(shù)據(jù)產(chǎn)品.
鷹眼日志就是基于ES來進(jìn)行開發(fā)的,這里就是把大數(shù)據(jù)的經(jīng)驗(yàn)分享一下,主要是運(yùn)用實(shí)時(shí)運(yùn)算,來實(shí)現(xiàn)播放流程的監(jiān)控和 CDN 測速監(jiān)控,這套架構(gòu)基本上滿足天2千億條和100T以上的數(shù)據(jù),維度是非常多的,差不多一條日志一百多的復(fù)雜的數(shù)據(jù).
一旦有了監(jiān)控的數(shù)據(jù),能夠快速得到的時(shí)候,你就真的能夠先人一步去發(fā)現(xiàn)問題,什么樣的問題也能夠快速獲取.這里的技術(shù)其實(shí)涵蓋很多方面,雖然說起來很簡單,但是涵蓋了海量運(yùn)營的技術(shù)基礎(chǔ),涵蓋流媒體的基礎(chǔ),涵蓋大數(shù)據(jù)技術(shù).
怎么把數(shù)據(jù)拿出來,實(shí)時(shí)分析出來,還涵蓋了 CDN 的網(wǎng)絡(luò)傳輸技術(shù),怎么保證網(wǎng)絡(luò)數(shù)量,怎么在 CDN 的過程中快速加速,還有怎么把原來 DNS 的方式變成IP直聯(lián)的方式,其實(shí)是包含很多方式的,這可能不是一下子能夠說得很清楚,相當(dāng)于是拋磚引玉.
海量的運(yùn)營技術(shù)是很大的體系,希望大家遇到這種情況的時(shí)候,能夠勇敢站出來,面臨挑戰(zhàn),只要我們有一個(gè)追求卓越的心不斷嘗試,大部分人都是能做到更好的,這就是我的一點(diǎn)心得
文章來自微信公眾號:高效運(yùn)維
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/4181.html