天天看點

QQ和微信成長的背後:騰訊網絡這十年(節摘版)

[導讀]

也許沒有多少人記得2004年發生的事情。但對于老騰訊來說,10年前的那個日子,2004年6月16日永遠難以忘懷。這一天,QQ誕生5年後的騰訊在中國香港聯交所主機闆上市,由此拉開了騰訊快速成長的序幕。

這10年間,騰訊的網絡基礎架構也伴随着各種業務的發展而發展,變遷而變遷。早年間網絡經曆的一切,不管是窘迫、重壓,還是喜悅都漸漸消失在人們的記憶中,隻能在泛黃的老照片,老員工零碎的講述中尋覓。。。

[2004-2006,稚嫩中開始成長]

2004年的騰訊所有伺服器都在深圳賽格、樞紐、東門這些營運商IDC機房中,很多伺服器的聯系人當時還是騰訊現CTO張志東(騰訊人都親切的稱其為Tony)。全部騰訊網絡,等于1張A4紙拓撲+1本技術書,隻是2M DDN将幾個機房互聯而已。這一年,QQ發生了一起無頭公案,是曆史上僅有的幾次QQ大面積服務中斷達12個小時的故障之一,整個公司震動,業務和網絡也由此拉開了營運的序幕。這一年,網絡也經曆了更多的五花八門的故障,有營運商IDC骨幹裝置故障、更新失敗、專線中斷,也有機架掉電、機房掉電、空調隻出熱風,還有某商業負載均衡裝置掉電後2個小時沒有起來。但也是這一年,IDC出口的流量達到10G。

QQ和微信成長的背後:騰訊網絡這十年(節摘版)

2005年和2006年是忙亂的年代。網際網路公司的核心業務紛紛從無線SP轉型為增值業務,而遊戲是其中的重點。那個年代,遊戲是聯衆、盛大、網易、九城、完美時空的天下,騰訊也從QQ遊戲、凱旋、QQ堂、QQ幻想、QQ音速開始切入,開始加入IDC資源搶奪的戰團。這兩年間,騰訊的網絡和業務如雨後春筍般發展。騰訊的伺服器達到萬台,IDC擴充到10多個城市甚至還建設到了美國,開始有了IDC網絡和辦公網絡分離并且使用了10G,IDC有了内網、外網和管理網還有安全監管區,跨省專線從0變成幾十條,開始使用V**備份專線,營運上也開始有了IDC網絡演習。值得一提的是,這個時期出現了營運曆史上第一次大紅頭檔案,甚至連Tony都受過處罰。

[2007-2009,躁動中血染的日子]

這段歲月,大家印象最深刻的就數開心農場了。此前遊戲業務不溫不火,網絡最大的挑戰主要是大區的遊戲分布導緻集中資料庫對專線可用性和帶寬的強依賴,而農場的突然火爆把當時的小夥伴們打了個措手不及。

從09年3月開始的半年時間裡,農場如現在的手遊一樣突然蹿紅,注冊使用者數量過億,同時線上人數超過千萬,業務叢集規模達2000台;公網出口的中央帶寬從幾百兆猛增到幾G,CDN帶寬則從幾G飙升到幾十G。

當時騰訊在深圳已經有了很多機房,農場和其它很多業務類似也散布在多個機房中,而連接配接深圳所有機房的雜亂無章的城域網在農場的沖擊面前無比脆弱,總體帶寬容量和備援能力的不足導緻城域網頻頻崩潰,大家每天神經繃的緊緊的,有什麼意外就馬上根據經驗調整路由參數調流量。這是老騰訊們少有的幾次刻骨銘心感受到海量業務挑戰中的一次。

為了解決城域網的問題,據老騰訊回憶,至少用了150個淩晨變更,甚至有人是以工傷,有人是以離職。最終将城域網改造為部分網狀互聯且具備自愈能力、具有50%備援的架構,緊接着又開始在4個城域網核心節點間建設了DWDM環解決光纖不足的問題,城域網這才安分下來。

這個時期業務提出了SET化的理念,即把承接一定數量使用者的接入、邏輯和存儲伺服器打包部署建設,IDC網絡架構也随之演進出V3.0的架構,可以為每500台伺服器提供一個高性能SET區域,當時的一個機房最多可以有10多個這樣的SET。SET化後,業務系統各層級之間的流量可以内部消化,也大大減輕了城域網和IDC網絡的壓力。

同時,IDC網絡還陸續引入了負載均衡LVS區域、防DDOS攻擊安全區域,更好的支援了業務的接入和安全防護。

[2010-2013,逐漸走向成熟]

2010年無疑是QQ的天下。這一年QQ同時線上人數突破1億,QQ空間廣受歡迎,QQ空間的遊戲異常火爆,如胡萊三國上線一個月注冊使用者就超過千萬,2個月後的活躍度仍然保持在20%,與同期facebook的頂級遊戲水準相當。業務的繁榮之下,伺服器數量開始激增,而深圳已經無法供應足夠的機房了,業務開始被迫走出深圳走向全國。

經曆幾年的努力後的2010年,騰訊曆史上第一個大規模自建資料中心——天津資料備份中心也落成,其設計容量達數十萬台而成為當時亞洲最大的資料中心。天津自建資料中心不僅讓騰訊積累了豐富的從風火水電到機架到網絡的大規模基礎架構規劃、建設和營運經驗,嘗試了多項新技術,而且還讓騰訊網絡在全國布局中非常重要的華北闆塊得到夯實,讓業務走出深圳更有信心。

2010年對于騰訊資料中心網絡來說是一個劃時代的時刻,IDC網絡架構更新成V3.5版本,不僅解決之前IDC二層網絡穩定性差問題,而且将高性能SET區域的範圍擴大到5000台,為之前的10倍,資源的排程和業務的部署更加高效。直到今天,現網中的V3.5及後續的優化版本仍然是支援各項業務發展的主力架構之一。

2010年發生的3Q大戰震動業界,由此騰訊更加堅定加快腳步走向了開放之路。開放在騰訊内部給網絡也帶來了新的挑戰,那就是基于虛拟化的開放平台業務所需的虛拟化資料中心網絡支援。2011年,5000台一個高性能SET、完全扁平大二層的一個V3.5虛拟化子版本應運而生,開始支援基于QQ空間的開放平台,随後是遊戲和内部雲平台。然而由于沒有意識到伺服器内部虛拟網絡管控的重要性,加之裝置Bug、核心應用子產品Bug,虛拟化網絡發生了幾次大故障,最長的一次故障排查達數小時導緻業務嚴重受損。這促使大家一邊加強虛拟網絡監控并且增強大二層的健壯性,一邊思考是否有更好的從根本上解決二層網絡缺陷的架構設計。2011年流行的802.1Qbg、Qbh,還有Trill/SPB之争,終究是無聲無息的過去了。2013年則開始研發基于Overlay的SDN虛拟化網絡方案。

2011年騰訊網絡還有一件重要的事情就是開始打造一張MPLS V**/TE的資料中心互聯DCI廣域網,以解決專線使用率低、多業務承載、靈活流量排程等問題。在曆時一年半的艱苦割接和建設後在2012年終于全網完成更新,不僅專線使用率大幅度提升,在這張DCI網絡中實作了面向業務的端到端差異化QoS服務和帶寬配額準實時管理,還可以将原來故障時流量排程時間從1個小時人工處理縮短到5分鐘系統自動處理。而在這張網絡中,也逐漸實踐了SDN的理念,成為全網最先落地SDN的部分。這張數百G專線帶寬并持續高速增長的DCI網絡,成為支撐騰訊數千種業務産品實時和非實時内部通信、全球業務分布的關鍵平台。在寫下此文的時候,世界杯比賽正酣,而小夥伴們正在試圖不影響世界杯相關業務的前提下更換更新骨幹節點的整台裝置,變更時間長達數小時,又一次實踐“萬米高空飛行的航班更換引擎”,再次驗證這張智能的DCI網的給力和小夥伴們的專業。

2012年和2013年微信的迅猛發展,特别是在海外的擴張,給網絡帶來巨大的壓力。海外營運商的遊戲規則和環境與國内幾大完全不同,微信全球使用者覆寫的品質如何調優着實不是那麼容易的一件事情。經過堅持不懈的努力,我們為微信等海外業務建立了全球覆寫模型并實踐了多種分布加速解決方案。

這幾年,時光同樣見證了100G光傳輸與營運商的同期部署,高性能SET區域超過20000台伺服器的IDC網絡新架構等等。而公網傳輸裝置等自研網絡裝置的批量上線,則讓網絡面對業務越來越多個性化服務需求時底氣更加充足。

[2014,新夢想啟航的時刻]

每一年,當網絡解決一個又一個問題後,新的挑戰總是不期而至。

進入2014年,公服務的特殊要求、此起彼伏的城域網熱點讓剛剛有點從容的網絡再度面臨壓力,而SDN的不進則退讓網絡更沒有後路必須大力開展前瞻性研究。微信O2O、網際網路金融的新業務形态也給網絡帶來更多的思考。

2014年網絡會收獲什麼?請你和我們一起期待,因為這是一個新的夢想啟航的時刻。

QQ和微信成長的背後:騰訊網絡這十年(節摘版)