CNTV總監(jiān)譚述剛
CNTV在世界杯的挑戰(zhàn)主要有兩項,第一項是視頻類,因為有一個并發(fā)高峰的問題(在2010年世界杯時用的是P2P平臺,最高的一個并發(fā)是560萬),CNTV當時計劃是播AB路比賽(一個世界杯會有50、60臺攝像機,當時跟著球員和教練的是AB路)。這對視頻來講是一個挑戰(zhàn)。CNTV還有一個商城,設了一個獎品,時間一到,會有大量的用戶來選,這是一個互動上的挑戰(zhàn)。在針對阿里云包括服務器(ECS)、數(shù)據(jù)庫(RDS)、CDN、負載均衡(SLB)和存儲(OSS)進行考察之后,CNTV感覺阿里云對世界杯是適合的。因為阿里云太多值得使用的地方,例如服務器監(jiān)控系統(tǒng)。利用CDN監(jiān)控系統(tǒng)可以計算出用戶量和做數(shù)據(jù)分析等,還有OSS監(jiān)控和RDS監(jiān)控等。
在用阿里云的過程中,CNTV首先發(fā)現(xiàn)ECS有實體機沒有的功能,比實體機可以更好地解決誤操作的問題。
CNTV到云上,監(jiān)控系統(tǒng)的問題怎么解決?這是SLB的監(jiān)控,SLB作為第一層來講,CNTV是要第一時間監(jiān)控的,因為有了這個才知道CNTV的服務是否正常。這是一次報警,CNTV當時設置了一個指標,訪問值只要超過6個指標,就會報警,這是一個真實的數(shù)據(jù),發(fā)生的時間是7月6號21時,就這個報警來講,CNTV沒有特殊去處理。CNTV認為這個功能一定要有,這次可能對CNTV的參照意義不大,但是這個功能非常大。
這是服務器的監(jiān)控,服務器監(jiān)控,CNTV以前在大賽期間都是用實體的設備去監(jiān)控,阿里云也提供了服務器的監(jiān)控。這是CDN的監(jiān)控,這是跟大家利益是切實相關的,當然根據(jù)CDN監(jiān)控也能計算出來CNTV有多少用戶,所以這個CDN監(jiān)控是非常必要的,這個還有一個好處,就是CNTV一些簡單的數(shù)據(jù)分析可以用它來做,包括用戶使用的哪些ISP。OSS的監(jiān)控,OSS監(jiān)控只能是作為一個參考,對CNTV帶說意義不是特別大,因為前面有CDN,都已經(jīng)控制住了,這是CNTV非常高興控制住的。下面是RDS監(jiān)控,這是非常好的,還有公司是沒有RDS平臺的,但是有了這個監(jiān)控,很多內(nèi)容就可以在這個平臺上進行。這個對小微企業(yè)來講,你只要使用了它這個東西,使你數(shù)據(jù)庫的水平達到大家差不多的水平。任何人來寫程序也好,做服務也好,很難有競爭性得,CNTV可以通過RDS,把很多程序性的問題找出來。
譚述剛用一個實際的例子解釋他為什么對RDS感情深厚。
6月份世界杯期間,有一天早晨CNTV接到一個報警:數(shù)據(jù)庫運行100%了,CNTV會通過CDN查詢整個CPU利用率高的原因,發(fā)現(xiàn)了一個表結構,在這個表結構里面看到了一個ID,這個ID是字符型,其實應該是一個數(shù)字型的ID。當時應該對這個ID進行整理,但是可能因為程序員或者其他的原因,所以造成了這個事件。這說明,這個RDS作用是非常大的。譚述剛認為一個非常好的架構在數(shù)據(jù)庫上的負載不應該太大,所以CNTV對性能要求更高。
CDN還滿足了CNTV單獨的安全性。因為CNTV在做新媒體的時候,版權方對傳播地域是有要求的,你不能說我買了世界杯的大陸轉播權,在美國也能看到。阿里云的CDN能夠很好地解決這個問題。
如前所述,CNTV在客戶端里面是有積分的,這也是CNTV的第一次嘗試,因為這個東西畢竟涉及到錢。CNTV在世界杯期間,海爾的兩萬塊錢的空調(diào)就發(fā)了30多臺,因為獎品非常多,入門門檻也非常低。在2014年6月15日晚9點,某用戶的積分突然多了1000萬。出了這個問題之后,CNTV就開始分析問題發(fā)生在哪里,后來發(fā)現(xiàn)CNTV犯的第一個錯誤,日志沒有分割;再看,又找到了CNTV犯的第二個錯誤,日志沒有記錄x-forward字段。這個時候CNTV就求助于阿里的同學,因為這兩個錯誤已經(jīng)犯下了,沒有辦法去彌補了,阿里的同學就把所有SLB的日志全部調(diào)出。然后CNTV大概知道用戶產(chǎn)生的時間是幾點,然后根據(jù)日志去過濾,找到了這樣一條數(shù)據(jù),CNTV對這里面的數(shù)字沒有處理,所以多出了1000萬。出了問題之后,CNTV想了很多,因為你的客戶端必須要先注冊,必須要填寫手機號才能注冊的,所以CNTV是能找到用戶的手機號的。CNTV打這個用戶的手機,當時用戶說好好,這個事情是我做的,我不會做的,但是他不告訴你是怎么做的。但是這個用戶說話是不算數(shù)的,他在15號的凌晨又來了一次,他數(shù)據(jù)又提交了一次。所以CNTV就發(fā)現(xiàn),所有的東西都得靠自己,他的承諾是虛假的。
CDN的日志有多重要?CDN的日志有多大?CDN的日志怎么處理?這個時候就需要用到ODPS大數(shù)據(jù)平臺。CNTV的一些統(tǒng)計數(shù)據(jù),點播播放次數(shù)150481908(31天),SLB平均每天請求次數(shù)3000萬次(單APP)。從譚述剛的演示可以看到CNTV整個世界杯期間的一些記錄,6月10日對APP服務器19個接口壓測驗證,數(shù)據(jù)庫以及APP程序優(yōu)化后TPS 2W響應50ms;6月13日世界杯的開幕式,直播切換為AB鏡頭,當天峰值流量4.65Gbps;6月22日出現(xiàn)了CDN峰值76.53Gbps,2.56W QPS,當天pv 3.1億,UV 309W。商城換購,峰值18988QPS。