專訪又拍云CTO黃慧攀:技術(shù)創(chuàng)新型CDN服務(wù)的優(yōu)勢
原創(chuàng)過去的兩年里,人們對于CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))有了越來越深入的理解, CDN技術(shù)毫無疑問已成為互聯(lián)網(wǎng)的必要的支持。隨著大數(shù)據(jù)的爆發(fā),在傳統(tǒng)互聯(lián)網(wǎng),如視頻、電商、網(wǎng)游等細分行業(yè)的拉動下,以及越來越多的傳統(tǒng)行業(yè)紛紛布局互聯(lián)網(wǎng),中國專業(yè)CDN行業(yè)近年來呈現(xiàn)了迅猛增長的態(tài)勢。因此51CTO特別對又拍云的CTO黃慧攀進行了本次訪談。
黃慧攀,又拍云CTO,aLiLua Web 開發(fā)框架的作者。2010年加入又拍網(wǎng)并開始又拍云存儲相關(guān)技術(shù)研發(fā)工作。12年互聯(lián)網(wǎng)從業(yè)經(jīng)驗,技術(shù)經(jīng)驗涵蓋范圍比較廣,早期是前端 Web 開發(fā)為主(PHP/HTML/CSS/JS),后期逐步轉(zhuǎn)到底層研發(fā)方向(Linux/C/Lua)。目前帶領(lǐng)一個團隊負責(zé) CDN 系統(tǒng)和底層分布式存儲系統(tǒng)研發(fā)工作。
黃慧攀剛剛加入又拍時,主要負責(zé)是CDN系統(tǒng),配合原有的儲存系統(tǒng)組合一個產(chǎn)品出來,變成一個U盤云儲存,截至目前主要負責(zé)管理整個又拍云的產(chǎn)品部門。又拍云有三塊產(chǎn)品,一塊是CBI,一塊是云儲存,還有一塊是云處理,三條線目前都是黃慧攀負責(zé)。在今后又拍云會以CDN作為主打,然后是云儲存和云處理。CDN很重視硬件投入與硬件資源的積累的過程,又拍云已經(jīng)積累了多年才達到今天的成績。
創(chuàng)業(yè)型企業(yè)需求的供應(yīng)
創(chuàng)業(yè)的團隊,一般來說需求的事一個打包產(chǎn)品,其中包括CDN儲存和處理。因為創(chuàng)業(yè)團隊的整個產(chǎn)品基本都是從零開始,這種情況下運用打包產(chǎn)品會有明顯加速效果,有很多東西不需要開發(fā),比如說圖片縮略圖、音頻壓縮、視頻處理等開發(fā)過程,儲存問題也不需要考慮,***是網(wǎng)絡(luò)加速,套上又拍云的CDN,已經(jīng)是一套完整的解決方案。
儲存這一塊有一些海量小文件,很多人都在思考解決這個問題。海量小文件的性能很差,差是差在IO問題,但問題的關(guān)鍵是你如何去請求這些文件,如何去訪問,如果是直接從數(shù)據(jù)中心對外提供訪問的話,變化會非常大,此時儲存集群是吃不消的,除非把那些殺死磁盤或者殺卡磁盤這種換成SSD的昂貴方案,才能去解決這個小文件的IO問題。另外一個方式就是建一個CDN的網(wǎng)絡(luò),CDN的網(wǎng)絡(luò)相當(dāng)于什么?又拍云現(xiàn)在有一百多個節(jié)點,每個節(jié)點有二三十個服務(wù)器,那相當(dāng)于有幾百臺、上千臺服務(wù)器去扛這些IO,并且這些并發(fā)不會達到把磁盤沖出一個瓶頸。但是如果把這些請求全都落到數(shù)據(jù)中心,也很難承擔(dān)。目前業(yè)界上也沒有人把儲存直接對外提供訪問服務(wù),因為這樣會有IO問題,要用CDN,其實它就相當(dāng)于起到一個緩存加速的作用。又拍云在15年的計劃里將會在國外搭建十到二十個CDN,又拍云的CDN網(wǎng)絡(luò)將會是國內(nèi)數(shù)一數(shù)二的覆蓋率。
CDN系統(tǒng)技術(shù)特點
技術(shù)方面,黃慧攀談到,又拍云的CDN系統(tǒng),主要是用C語言和Lua語言來寫。研發(fā)團隊核心組有十個人,十個人里面80%是做CDN的,而又拍的云儲存是(13:56)寫的,云儲存團隊有五六個人,然后還有一個是云處理這一條線,也是五六個人,主要是用到Python和C語言。Lua語言很多人不了解,它在腳本語言里面是最快的,沒有任何一個腳本語言能夠跟它媲美。又拍云09年開始研究Lua是否適合,調(diào)研了一年多,到了11年才開始真正把Lua放到又拍云的業(yè)務(wù)系統(tǒng)上。又拍云具備一定的技術(shù)實力,并且敢于創(chuàng)新,所提供的服務(wù)還有產(chǎn)品功能都是***個提出來的,所以內(nèi)部使用的技術(shù)也基本上都是***個嘗鮮者。
CDN為什么都選用這些分布式計算的服務(wù)框架呢?原因很簡單,開發(fā)的工作量很小,開發(fā)周期很短,很快就可以做出滿足業(yè)務(wù)需要的功能。
又拍云做的CDN跟傳統(tǒng)的做法有點區(qū)別,現(xiàn)在是真正的圍繞云這一概念在做CDN,具體到某一臺節(jié)點的服務(wù)器,其實只是整個CDN網(wǎng)絡(luò)里面的一顆沙粒,一個很小的單元,并且可以隨時摘除掉,
不會影響到整個CDN網(wǎng)絡(luò)。傳統(tǒng)的方式做CDN的話,會按照客戶去劃分節(jié)點,但是在又拍云新一代的CDN系統(tǒng)上沒有這種概念,所有的客戶都可以訪問同一臺服務(wù)器,都能夠做緩存加速,又拍云會分配上千個服務(wù)器給這些客戶同時使用,比如說A客戶來,一千個服務(wù)器你都能用,B客戶來你也是這一千個,隨便在一千個里面蕩掉一百個,都不會對服務(wù)造成任何影響,對任何一個客戶也不會有影響。
在系統(tǒng)架構(gòu)方面主要分為三層。一個是邊緣加速節(jié)點,一個是中轉(zhuǎn)節(jié)點,一個是數(shù)據(jù)中心。又拍云對加速這一塊的CDN做了大量的優(yōu)化,重點是在中轉(zhuǎn)節(jié)點上,中轉(zhuǎn)可以避免很多回源的過程中導(dǎo)致的源站的壓力過大的問題。因為在邊緣節(jié)點太多,又拍云現(xiàn)在是100個,接下來是200個節(jié)點,那這200個節(jié)點如果要回源的話,如果單獨回源那就是200次回源,但是又拍云會有一個中轉(zhuǎn)的議程,中轉(zhuǎn)有十個節(jié)點,這200個回到這十個,然后再從這十個回到源,那就相當(dāng)于從200變成了只有十次回源。中轉(zhuǎn)層的技術(shù)特點,***個是多線路,第二個是數(shù)據(jù),就相當(dāng)于一個次級的數(shù)據(jù)中心,它的儲存容量非常大,已經(jīng)是PP級別,緩存是PP級別,數(shù)據(jù)中心實際上現(xiàn)在是二三十個PP,它就緩存掉一個PP在外面。然后又拍云有十個這樣的中轉(zhuǎn)節(jié)點,相當(dāng)于它緩存了二三十個PP,100%把數(shù)據(jù)中心的數(shù)據(jù)都緩存在外面。關(guān)于緩存分發(fā),要看是怎樣的操作方式,又拍云是使用云的方式,只有一套系統(tǒng)面對所有,它產(chǎn)生出來的那個數(shù)量級固定,如果說A客戶即使是一個大網(wǎng)站,有可能也就幾百個TB,不可能達到PP級別的。
在CDN系統(tǒng)做數(shù)據(jù)遷移基本上是零成本,只要做一個很簡單的域名解析就可以遷到UP CDN上。至于是云儲存,有一些難度,遷移的周期會很長,因為都是通過公網(wǎng)把文件拷貝到又拍云的云儲存,這個遷移周期依據(jù)數(shù)據(jù)量而變,有可能是一個月也有可能是一年,又拍云也配套推出了一種鏡像服務(wù),自動將對方的數(shù)據(jù)存起來,以便在遷移的過程中不影響對方的服務(wù)業(yè)務(wù),還有另外一種就是直接一點了,我們現(xiàn)在有很多客戶他是這樣,因為他之前沒有用云儲存的,他用的是自己的服務(wù)器,內(nèi)容都在硬盤上,他直接把硬盤給我們,我們就到機房把這個硬盤插進去,我們會有一個導(dǎo)入到云儲存的這樣一個過程,因為我們是在內(nèi)網(wǎng),那個帶寬非常充足,所以它的速度是很快的,通過如果你是一兩個TP,那它就兩天倒完。
可能在前幾年剛開始建CDN系統(tǒng)的時候可能會有很多難點,通過幾年發(fā)展,又拍云在技術(shù)上的難點基本上都已攻克,現(xiàn)在正處在一個鋪量的階段。當(dāng)系統(tǒng)已經(jīng)成熟穩(wěn)定,當(dāng)前的重點是正在進行的廣鋪節(jié)點工作,然后把CDN網(wǎng)絡(luò)做的更完善。CDN本來就注重于數(shù)據(jù)分發(fā),不需要同步。但是關(guān)聯(lián)到數(shù)據(jù)中心,它就牽扯到同步,比如機房類的同步,而機房類的同步很容易解決,難點是在于跨地區(qū)的同步,因為跨地區(qū)網(wǎng)絡(luò)的穩(wěn)定性、速度,跟內(nèi)網(wǎng)的差別太大。又拍云主要做的是有專門的一個同步系統(tǒng),這個同步系統(tǒng)可以按照實際情況去調(diào)度帶寬。在白天是業(yè)務(wù)繁忙期,又拍云只會用到20%的帶寬去做同步,但是到了晚上帶寬是空閑的,就會以80%的帶寬去做同步。這個問題其實技術(shù)難度不大,主要就是帶寬,看拉的線路好不好,又拍云現(xiàn)在的數(shù)據(jù)中心基本上都有自己的租用的直連光群。因此,又拍云在硬件方面的資金投入力度非常大,尤其是13年、14年的節(jié)點翻了一倍,至15年目標(biāo)是翻兩倍。目前主要還是靠一些硬件,加大硬件的覆蓋率,因為對于又拍云現(xiàn)在的網(wǎng)絡(luò)、CDN服務(wù)來說,冗余度只有20—30%,接下去要繼續(xù)拓展CDN市場的話,必須要把這些帶寬冗余量提高。
創(chuàng)新計費方式
又拍云的計費方式統(tǒng)一標(biāo)準(zhǔn),按照實使用量收取,而不是購買一個固定的量,然后每個月收錢。這樣就不會造成浪費的情況,又拍云也是***家CDN服務(wù)商提出這樣一個概念,即按流量收費,不像傳統(tǒng)的方式按帶寬收費,比如你購買了一個100兆帶寬,按貸款來收費,有可能哪天你不做活動了,需要帶寬才2兆,又被收了100兆的費用。大家公平一點,按流量來收費,其實也有本身的業(yè)務(wù)很穩(wěn)定的客戶會要求按帶寬計費。
國內(nèi)CDN市場潛力巨大、競爭激烈
在國內(nèi)市場上,專業(yè)CDN服務(wù)提供商通過融資、并購提高自己的競爭力,為日趨激烈的競爭市場做準(zhǔn)備。CDN市場將很快迎來新的發(fā)展局面,現(xiàn)有CDN服務(wù)商并不存在絕對競爭優(yōu)勢。雖然技術(shù)門檻相對較高,由于人才、技術(shù)儲備、資金實力以及市場經(jīng)驗相對國外領(lǐng)先企業(yè)還有一定的差距,國內(nèi)CDN企業(yè)想要在競爭中獲勝需要投入更多的精力和做好各方面的準(zhǔn)備。
黃慧攀強調(diào),又拍云是以CDN作為主打產(chǎn)品的公司,并非是云儲存公司。又拍云從技術(shù)方面和從決定層面都是很富有創(chuàng)新力度的,不會一直拘泥于延續(xù)傳統(tǒng)的方法。同時他透露,到15年底,又拍云會有比較大的動作,這將會是一個互聯(lián)網(wǎng)領(lǐng)域內(nèi)比較大的顛覆性的動作,跟傳統(tǒng)的認(rèn)知里面會有一定區(qū)別。