據(jù)黃冬介紹,土豆網(wǎng)每天有2億次的視頻播放量和3500萬獨(dú)立訪客,每月有2.3億用戶覆蓋,現(xiàn)在視頻總數(shù)超過7500萬,有超過1億的注冊用戶。“用戶上傳和快速分發(fā)、小部分內(nèi)容被集中快速地索取,這是整個平臺兩個非常核心的地方。”
如何支撐整個平臺如何龐大的用戶和流量?從技術(shù)和產(chǎn)品形態(tài)上講,土豆網(wǎng)的云包括三個部分加一個服務(wù):快速的并行計(jì)算、大容量存儲、交付及訪問,三者結(jié)合起來就是視頻云服務(wù)。
與亞馬遜EC2彈性云計(jì)算不同的是,土豆網(wǎng)主要針對三件事情做了優(yōu)化:優(yōu)化,上傳、轉(zhuǎn)碼和分發(fā),最核心的是轉(zhuǎn)碼。也就是說,首先用戶可以很容易地把數(shù)據(jù)上傳到土豆網(wǎng),其次把大量的視頻轉(zhuǎn)換成可觀看的內(nèi)容,第三是把這些視頻分發(fā)讓業(yè)務(wù)可以加以利用。
與亞馬遜S3不同是,土豆網(wǎng)選擇就近上傳的方法,有多個轉(zhuǎn)碼集群,計(jì)算采用單一編解碼,多種格式輸入和輸出,但用不同碼流多路徑分發(fā)到存儲節(jié)點(diǎn)上。
在土豆運(yùn)用云計(jì)算的實(shí)踐中,有幾點(diǎn)是十分重要的。第一件事情,就是一用戶來源區(qū)域?yàn)楹诵牡纳蟼髡{(diào)度,其中DNS以及七層的二次調(diào)度是互聯(lián)網(wǎng)最基礎(chǔ)的 也是幫助用戶獲得數(shù)據(jù)很關(guān)鍵的部分;第二,基于多服務(wù)器多核心的并發(fā)轉(zhuǎn)碼,其中采用了任務(wù)調(diào)度和優(yōu)先級機(jī)制,發(fā)送到多個服務(wù)器并進(jìn)行轉(zhuǎn)碼;第三,是核心的 MateDB管理,這需做提前的去重和版權(quán)管理;最后,是跨網(wǎng)絡(luò)、跨機(jī)房和跨運(yùn)營商的快速分發(fā),這也就是云中“計(jì)算”的部分。
黃冬認(rèn)為,未來視頻云有三個可以不斷優(yōu)化的方面:
首先,視頻轉(zhuǎn)碼的優(yōu)化,只有對各種輸出做好優(yōu)化才能在最終交付的時候兼容足夠多的設(shè)備,減少CPU的損耗,此外加快轉(zhuǎn)碼;
其次是視頻計(jì)算的大IO優(yōu)化,硬盤IO優(yōu)化。土豆曾經(jīng)嘗試過用128GB甚至更大的內(nèi)存替代磁盤,但有時候用戶上傳到一臺設(shè)備的數(shù)據(jù)會超過 128GB;另外嘗試使用固態(tài)盤,讀性能雖然非常出色,但既寫又讀的時候性能相對較差,因此黃冬認(rèn)為這是未來的一個競爭點(diǎn),“對于硬盤I/O我們還沒有找到一個很好的機(jī)制,相信未來這是云計(jì)算優(yōu)化的關(guān)鍵,誰做得好誰就會搶得先機(jī)。”
最后,分布式MateDB的改造,做好異地復(fù)制和同步機(jī)制。黃冬認(rèn)為,未來像EC2這樣純粹在云端的計(jì)算差的就是存儲,而Hadoop這樣將設(shè)備CPU用于本地存儲計(jì)算是云計(jì)算的最好模型。
存儲與交付的混合是核心
據(jù)黃冬介紹,土豆網(wǎng)云存儲和云交付的模型是將自己的存儲放在運(yùn)營商那里,每一個運(yùn)營商內(nèi)部會有若干個保存著視頻文件的小組,小組之間有不同一組機(jī)器 在不同IDC中有特殊的通道通過調(diào)度專門做熱交換。這個調(diào)度的流程是,每當(dāng)有用戶要訪問一個視頻的時候,先看到哪一個小組調(diào)度最快,再看這個小組到哪一個 數(shù)據(jù)中心快,其次是這個數(shù)據(jù)中心內(nèi)有沒有文件去完成這個操作。
熱交換的部分是將熱點(diǎn)數(shù)據(jù)放在節(jié)點(diǎn)中的熱點(diǎn)部分,讓所有服務(wù)器所有硬盤片區(qū)都有這些熱點(diǎn)數(shù)據(jù),這樣用戶就可以最快速度地讀取這些數(shù)據(jù)。
“因此,土豆的計(jì)算其實(shí)就是純粹的文件編解碼工作,最核心的部分還是在存儲和交付。它把整個互聯(lián)網(wǎng)當(dāng)作一個大型計(jì)算集群,并虛擬成了一套存儲系統(tǒng)。”
云計(jì)算給存儲帶來的變得不言而喻,“以前一臺計(jì)算機(jī)里的硬盤,如今在云計(jì)算中變成了一臺服務(wù)器,一個文件里的分區(qū)表變成了一個MateDB,原來的磁盤控制器變成了調(diào)度器,文件系統(tǒng)則變成了云存儲。”
在黃冬看來,存儲對于土豆網(wǎng)的云計(jì)算來說是至關(guān)重要的,交付與存儲應(yīng)該走向混合。“存儲是最核心的地方,它既應(yīng)該是存儲也應(yīng)該提供交付。互聯(lián)網(wǎng)最公 共的HTTP的協(xié)議應(yīng)該是存儲的最主流協(xié)議,緩存是在節(jié)點(diǎn)級別的緩存,而不只是在內(nèi)存級別的緩存。未來,我認(rèn)為云存儲一定是基于HTTP協(xié)議的大容量存 儲,最核心仍是存儲與交付能夠并行化,這樣才能夠解決存儲容量大、交付時單一視頻或者單一存儲IO比較密集時的問題。”
在土豆而言,一切云計(jì)算都是圍繞視頻展開的,對外要支持多個平臺、多個協(xié)議、多個碼流,用戶看不到具體的存儲、計(jì)算和交付方式,但他們能體會到是多平臺、多協(xié)議、多個碼流的視頻觀看體驗(yàn)。
總的來看,土豆的云視頻服務(wù)主要基于兩個入口。第一個入口,用戶可以簡單方便地上傳和轉(zhuǎn)碼,這其中計(jì)算部分是特別優(yōu)化的云計(jì)算——不是通用的而是一 個專用于編解碼的云計(jì)算。其次,存儲和分發(fā)提供大容量的高效的云存儲和云交付。所以對土豆網(wǎng)來講,與存儲和高效支持多協(xié)議相結(jié)合的云視頻交付,是未來一項(xiàng) 關(guān)鍵的工作,也是未來的一個愿景。