解密騰訊億級產品背后的網絡架構故事
核心提示: 我覺得作為一個做云的從業者來講,首先我在過去幾年是一個IDC或者云的用戶,今天在這里首先跟大家分享我自己在構建服務的時候,作為IDC對于云使用的一些心得。
中國IDC圈1月10日報道,1月8日,第九屆中國IDC產業年度大會在北京國家會議中心開幕, 騰訊公司副總裁邱躍鵬在大會上發表了《打造最值得信賴的云》的主題演講,并獲得"2014年互聯網風云人物獎-最具影響力CTO獎".邱躍鵬曾負責QQ、 QQ空間、QQ秀、QQ會員等業務的整體技術工作,是騰訊海量服務架構的重要設計者之一,現在全面負責騰訊云的管理工作。
在此次大會的主題演講中,邱躍鵬對外披露了QQ、QQ空間等多個騰訊王牌產品支撐億級用戶優質體驗背后的網絡技術架構。他指出,騰訊云現在在做的事情,正是通過云服務將這些多年來積累的海量技術能力開放出去。邱躍鵬精彩的講述和干貨的分享引得滿堂喝彩。
此外,邱躍鵬在演講中還透露,打造最值得信賴的云,騰訊云將重點發力服務市場(Marketplace)建設。他表示,目前已經有超過1萬家客戶在使用騰訊云的API,每天的調動次數已經超過100萬次。
如下為邱躍鵬演講全文,小標題是編輯所加:
尊敬的各位領導各位來賓大家上午好。非常高興在這里跟大家交流,談一談對于中國云計算發展的看法。今天我是一個云的從業者,而我在過去幾年是一個IDC或者云的用戶。所以我首先想跟大家分享我自己在構建服務的時候,作為IDC對于云使用的一些心得。
QQ:同時在線用戶突破兩億
第一個主題是構建億級服務的時候,我們做了哪些東西?大家都知道,QQ是超過兩億在線用戶的服務。通過QQ在線用戶的密度圖,我們看到在華東、華 南、華北,這是三個非常密集的人口區,QQ在線用戶也是這里最高,所以我們在這三個地方部署了非常大規模的服務器去支撐兩億的在線用戶。
能力一:三地容錯,千萬在線用戶秒級自動切換遷移
我們擁有非常大規模的機房,這樣的機房非常穩定。但是對于任何一個IDC來講都不可能百分百的可用,如何讓一個擁有兩億在線的產品,可以在出現任何 問題的時候都不發生波動?我相信大家使用QQ的過程中也會感覺到,很少會見到QQ掉線,或者大規模QQ掉線的事情發生,我們在這背后是如何做到的?
首先,我們看到三個地區支持著兩億在線用戶,平均每個地方六千萬用戶。當有一個地方出現問題,我們如何讓六千萬的用戶在幾秒鐘內切換到另外兩個機房 去?對于CS結構的機房來說,我們每次讓用戶連接的時候,已經告訴他如果你連接到這個機房出了問題的時候,你下一步應該去哪個機房,在多長時間內去到。如 果我五千萬的用戶出問題,我們可能在十秒鐘之內完成切換,也就是每秒鐘實現大概五百萬用戶的切換,整個切換是一個平滑的過程。
能力二:大數據分析預測連接質量,秒級提升90%用戶體驗
對于兩億用戶,要連接到我們的三個機房,那么對于每個用戶來講,他應該連接到哪個機房,才可以獲得在中國網絡情況下最優的體驗?在這背后,我們有一個非常實時的大數據處理平臺,不停地分析每個用戶的連接質量。
我們還在做一件事情,就是做預測。因為大家知道中國整個網絡情況是非常復雜的,用戶可能白天用3G上網,晚上用Wifi上網,到公司是用公司的 Wifi,用戶每天上網行為在不停變化。對于每個人來講,我用的聯通號碼,但是公司是用電信,切換網絡的時候,可能連接到任何一個機房,這個服務的質量是 不一樣的。
因此,我們做了一套預測算法,對每個用戶每一天的上網可能產生的切換進行預測,用戶每天登陸的時候我們對他的上網行為和不同行為連接哪個機房,做了一個路由計劃表,推送到客戶終端上。當用戶的網絡發生切換,我們就知道這個網絡情況下他應該連到哪里最快。
QQ空間:圖片日上傳峰值達5.1億張
第二個想講的服務就是QQ空間。不知道在座有多少人在用QQ空間相冊服務。這樣的服務,我們最高的峰值大概是在2014年五一的時候,1天內上傳的 圖片達到5.1億張,整個騰訊每個月上傳的圖片超過兩百億張,大部分的上傳是來自移動互聯網的上傳,來自終端的上傳。如何實現在這樣一個移動互聯網的情況 下,讓每次上傳非常快,用戶每次看圖片的時候可以非常的流暢呢?
能力一:全網分布,70+上傳加速節點,多端口多連接的上傳加速
從我自己的感覺,我發現用騰訊的朋友圈或者QQ空間的相冊的時候我們可以很快打開圖片,但是很多應用沒有辦法讓你獲得很好的圖片體驗。我們對用戶上 網行為作分析,看到4G確實是一個非常好的東西,4G網絡的情況下用戶的帶寬延遲都是非常低的,甚至其實比我們大量的Wifi的速度都要更好。但是在3G 情況下,我們看到整個延遲和成功率,延遲升高成功率在下降。
但是我們看到2015年的最新數據,對比2014年,在3G的情況下,質量也是有了很大的提升。這是怎么實現的?圖片是對于網絡要求非常高的服務, 任何的延遲任何的丟包或者是網絡的擁塞都會對它產生非常高的影響,為了讓兩百億的圖片上傳,我們在全國部署了超過70個上傳加速節點,讓每個用戶都會選擇 他最近的上傳節點上傳他的圖片。同時有啟用多端口、多連接的上傳加速能力,可以盡可能的用盡網絡資源,而不是說在一個連接上不停的等待數據包的重傳等各方 面的東西。
能力二:場景優化,圖片轉碼、漸進傳輸、預加載、多終端適配
我們現在大概有幾百P的存儲,去存儲中國網民產生的照片。在朋友圈里,我很多朋友經常是九圖連發,每個人的帶寬都是有限的,怎么讓大家獲得又高的質量又獲得更好的下載速度?
我們今年對于圖片進行了轉碼。對于非設計專業的人來講,大部分人不太能感知圖片質量的差異。今年我們也研究了新的編碼格式,看看圖片是不是可以在同 等質量情況下再下降30%.現在也在應用一些漸進式的傳輸技術,你會首先看到模糊的圖,一會兒清晰的圖就會出現。預加載也是非常重要的提升體驗的技術,尤 其是用戶在Wifi情況下,可以把可能看的圖片下載下來,讓用戶獲得更好的體驗。
這里講很多都是網絡上的技術,其實真正在多終端的情況下我們真正做好一個產品的服務,并不是說把所有的網絡擁塞都處理好,就可以解決好問題。我們會 發現智能機的普及是從五百到七千多,是一個非常多樣化的終端時代。屏幕分辨率,可能現在好一點,其實可能一千塊錢的手機,可以做到720P,但是好的手機 2K屏已經開始出現。
不同終端情況下,你展示什么樣的圖片質量,其實對于用戶來講,如果把一個高清圖展示再一個只有720P的屏幕上,占據了它中間三分之一的屏幕,對于 用戶來講下載20K的圖和2兆的圖,在那個情況下沒有差異。我們對不同終端不同設備的情況下,下不同圖片,用戶同樣感受但是幫助用戶節省流量,幫助他提升 體驗速度。
剛才我們講了3G比4G、Wifi慢很多,但是其實中國還有大量網民是用2G,這個是一個,從我們的研究分析來看,這樣的一個網絡下,基本下載圖片 很困難。我們做了非常多的努力幫助用戶,但是發現很困難,最后只能選擇一條更平衡的路,就是降低圖片質量,讓他可以看到他想看的圖,而不是看不見的裂圖。
如果大家去用的話,你上傳一張有人臉的圖我們有一個提示,這個是不是你的朋友?可以去提升社交化的體驗。人臉識別的技術,也是在微眾銀行也做了一些嘗鮮性的實驗,把這些技術應用在社交之外,甚至到金融,甚至到未來的證券上,都有非常多的使用場景。
開放騰訊基礎架構并云化,打造最值得信賴的云
我剛才講了一個QQ,一個QQ空間的照片,如何構建這樣的服務架構?雖然我們用了大量IDC,但是構建這樣的服務非常困難。騰訊云正在做的事情就 是,幫助我們的用戶真正在中國的這樣一個互聯網環境下可以把自己的服務,更簡單的構建出來,讓他們可以更高的提升自己的開發效率,真正把自己核心的能力, 放在去構筑自己的產品。
實例一:全網調度,讓用戶不再為運營商網絡故障買單
我們的騰訊云正在把整個騰訊十多年在互聯網領域積累的基礎能力開放出來。剛才我在講,QQ可以在十秒鐘之內將我們幾千萬戶的戶進行切換,這樣一個切換動作對于每個開發者來說非常困難,我們不可能要求每個人使用多機房部署多機房切換的能力。
但是,今天騰訊云做到了,我們將自己的云機房做到了容災切換。在2014年11月,從業者應該知道電信的骨干網發生了中斷,大概中斷了330分鐘, 我們發現這樣的中斷之后,我們做切換,將流量從華南出口切換到華東出口,這樣的中斷時間只有5分鐘,之后我們做了更優的切換,我們希望這樣的事情發生之 后,我們將用戶從1秒鐘之內從華東切到華南,或者從華南切到華東。
實例二:彈性服務,打破制約用戶發展的基礎資源瓶頸
對于很多企業來講,要獲得幾百臺、上千臺的資源是非常漫長的過程。我們通過騰訊云彈性服務,幫助打破制約用戶發展的基礎資源瓶頸。我們有一個客戶做 云渲染,因為他是幾千臺的分布式計算,前一陣我們跟他做了這樣的合作,在一個小時之內他獲得2400臺的機器,我們開放API給他使用,讓他使用起來就像 使用自己的IDC一樣沒有任何差異。其實這個用戶已經在想,未來他可能不再希望自己建設自己的渲染云,更多用公有云這種彈性資源,可以把自己的服務構建的 更加迅速、簡單成本更低。
實例三:騰訊云安全,保護用戶免受DDOS攻擊困擾
今年還有一個很重要的話題就是安全,去年蘋果和索尼出了信息安全的事情。其實安全領域也有,就是DDoS攻擊,我們看到前一陣中國互聯網上,號稱最高的攻擊大概是400G.
那么為了去應對整個DDoS,我們現在購買100G的攻擊流量已經非常便宜,為了服務我們的客戶,尤其是游戲電商,像P2P的服務,他們經常受到攻 擊。我們構建一個高防機房,可以在單點提供超過500G的網絡防護能力。對于愿意使用分布式防御的客戶來講,我們給客戶可以提供高達兩個T的防御帶寬。最 后,其實騰訊能夠提供的,可能更多是以后海量服務方面積累的能力,我們在全國積累的IDC的能力都可以開放出來。
2015年重點建設服務市場
最后,談一談我們服務市場(Marketplace)。我們希望跟更多合作伙伴一起,把整個云市場上的服務構建出來,讓每個使用云計算的客戶,他們真正關心是我在這里能夠獲得的資源,獲得的價值,獲得的服務,獲得對他公司真正一個商業發展帶來的這種推動。
所以我們看到,其實在過去一個月,當我們開放API和我們合作伙伴一起支持我們的客戶,我們使用API的客戶增長非常快,因為這可以讓他們構建服務和自己的工作流緊密的整合起來,我們有超過1萬家客戶使用我們的API,每天的調動次數已經超過100萬。
時間關系,今天的分享就到這里,希望未來可以跟在座的IDC從業者一起推動整個云計算的發展,謝謝!
來自:http://news.idcquan.com/news/66660.shtml