天天看點

QQ和微信兇猛成長的背後:騰訊網絡基礎架構的這些年1、前言2、2004-2006:稚嫩中開始成長3、2007-2009:躁動中血染的日子4、2010-2013:逐漸走向成熟5、新夢想啟航的時刻附錄:有關微信、QQ的文章彙總

本文來自騰訊資深架構師楊志華的分享。

1、前言

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

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

學習交流:

- 即時通訊開發交流群:320837163[推薦] - 移動端IM開發入門文章:《新手入門一篇就夠:從零開發移動端IM》

(本文同步釋出于:http://www.52im.net/thread-1448-1-1.html)

QQ和微信兇猛成長的背後:騰訊網絡基礎架構的這些年1、前言2、2004-2006:稚嫩中開始成長3、2007-2009:躁動中血染的日子4、2010-2013:逐漸走向成熟5、新夢想啟航的時刻附錄:有關微信、QQ的文章彙總

2、2004-2006:稚嫩中開始成長

2004年的騰訊所有伺服器都在深圳賽格、樞紐、東門這些營運商IDC機房中,很多伺服器的聯系人當時還是騰訊現CTO張志東(騰訊人都親切的稱其為Tony)。全部騰訊網絡,等于1張A4紙拓撲+1本技術書,隻是2M DDN将幾個機房互聯而已。

這一年,QQ發生了一起無頭公案,是曆史上僅有的幾次QQ大面積服務中斷達12個小時的故障之一,整個公司震動,業務和網絡也由此拉開了營運的序幕。這一年,網絡也經曆了更多的五花八門的故障,有營運商IDC骨幹裝置故障、更新失敗、專線中斷,也有機架掉電、機房掉電、空調隻出熱風,還有某商業負載均衡裝置掉電後2個小時沒有起來。但也是這一年,IDC出口的流量達到10G。

QQ和微信兇猛成長的背後:騰訊網絡基礎架構的這些年1、前言2、2004-2006:稚嫩中開始成長3、2007-2009:躁動中血染的日子4、2010-2013:逐漸走向成熟5、新夢想啟航的時刻附錄:有關微信、QQ的文章彙總

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

值得一提的是,這個時期出現了營運曆史上第一次大紅頭檔案,甚至連Tony都受過處罰。

3、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攻擊安全區域,更好的支援了業務的接入和安全防護。

4、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網絡新架構等等。而公網傳輸裝置等自研網絡裝置的批量上線,則讓網絡面對業務越來越多個性化服務需求時底氣更加充足。

5、新夢想啟航的時刻

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

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

未來的騰訊網絡基礎架構會收獲什麼?請你和我們一起期待,因為這是一個新的夢想啟航的時刻。

(本文同步釋出于:http://www.52im.net/thread-1448-1-1.html)

附錄:有關微信、QQ的文章彙總

[1] QQ、微信團隊原創技術文章: 《騰訊技術分享:Android手Q的線程死鎖監控系統技術實踐》 《微信團隊原創分享:iOS版微信的記憶體監控系統技術實踐》 《讓網際網路更快:新一代QUIC協定在騰訊的技術實踐分享》 《iOS背景喚醒實戰:微信收款到賬語音提醒技術總結》 《騰訊技術分享:社交網絡圖檔的帶寬壓縮技術演進之路》 《微信團隊分享:視訊圖像的超分辨率技術原理和應用場景》 《微信團隊分享:微信每日億次實時音視訊聊天背後的技術解密》 《QQ音樂團隊分享:Android中的圖檔壓縮技術詳解(上篇)》 《QQ音樂團隊分享:Android中的圖檔壓縮技術詳解(下篇)》 《騰訊團隊分享:手機QQ中的人臉識别酷炫動畫效果實作詳解》 《騰訊團隊分享 :一次手Q聊天界面中圖檔顯示bug的追蹤過程分享》 《微信團隊分享:微信Android版小視訊編碼填過的那些坑》  《微信手機端的本地資料全文檢索優化之路》  《企業微信用戶端中組織架構資料的同步更新方案優化實戰》 《微信團隊披露:微信界面卡死超級bug“15。。。。”的來龍去脈》 《QQ 18年:解密8億月活的QQ背景服務接口隔離技術》 《月活8.89億的超級IM微信是如何進行Android端相容測試的》 《以手機QQ為例探讨移動端IM中的“輕應用”》 《一篇文章get微信開源移動端資料庫元件WCDB的一切!》 《微信用戶端團隊負責人技術訪談:如何着手用戶端性能監控和優化》 《微信背景基于時間序的海量資料冷熱分級架構設計實踐》 《微信團隊原創分享:Android版微信的臃腫之困與子產品化實踐之路》 《微信背景團隊:微信背景異步消息隊列的優化更新實踐分享》 《微信團隊原創分享:微信用戶端SQLite資料庫損壞修複實踐》  《騰訊原創分享(一):如何大幅提升移動網絡下手機QQ的圖檔傳輸速度和成功率》  《騰訊原創分享(二):如何大幅壓縮移動網絡下APP的流量消耗(下篇)》  《騰訊原創分享(二):如何大幅壓縮移動網絡下APP的流量消耗(上篇)》  《微信Mars:微信内部正在使用的網絡層封裝庫,即将開源》  《如約而至:微信自用的移動端IM網絡層跨平台元件庫Mars已正式開源》  《開源libco庫:單機千萬連接配接、支撐微信8億使用者的背景架構基石 [源碼下載下傳]》  《微信新一代通信安全解決方案:基于TLS1.3的MMTLS詳解》  《微信團隊原創分享:Android版微信背景保活實戰分享(程序保活篇)》  《微信團隊原創分享:Android版微信背景保活實戰分享(網絡保活篇)》  《Android版微信從300KB到30MB的技術演進(PPT講稿) [附件下載下傳]》  《微信團隊原創分享:Android版微信從300KB到30MB的技術演進》  《微信技術總監談架構:微信之道——大道至簡(演講全文)》 《微信技術總監談架構:微信之道——大道至簡(PPT講稿) [附件下載下傳]》  《如何解讀《微信技術總監談架構:微信之道——大道至簡》》 《微信海量使用者背後的背景系統存儲架構(視訊+PPT) [附件下載下傳]》 《微信異步化改造實踐:8億月活、單機千萬連接配接背後的背景解決方案》  《微信朋友圈海量技術之道PPT [附件下載下傳]》  《微信對網絡影響的技術試驗及分析(論文全文)》  《一份微信背景技術架構的總結性筆記》  《架構之道:3個程式員成就微信朋友圈日均10億釋出量[有視訊]》  《快速裂變:見證微信強大背景架構從0到1的演進曆程(一)》 《快速裂變:見證微信強大背景架構從0到1的演進曆程(二)》  《微信團隊原創分享:Android記憶體洩漏監控和優化技巧總結》  《全面總結iOS版微信更新iOS9遇到的各種“坑”》  《微信團隊原創資源混淆工具:讓你的APK立減1M》  《微信團隊原創Android資源混淆工具:AndResGuard [有源碼]》  《Android版微信安裝包“減肥”實戰記錄》  《iOS版微信安裝包“減肥”實戰記錄》  《移動端IM實踐:iOS版微信界面卡頓監測方案》  《微信“紅包照片”背後的技術難題》  《移動端IM實踐:iOS版微信小視訊功能技術方案實錄》  《移動端IM實踐:Android版微信如何大幅提升互動性能(一)》 《移動端IM實踐:Android版微信如何大幅提升互動性能(二)》 《移動端IM實踐:實作Android版微信的智能心跳機制》  《移動端IM實踐:WhatsApp、Line、微信的心跳政策分析》  《移動端IM實踐:谷歌消息推送服務(GCM)研究(來自微信)》 《移動端IM實踐:iOS版微信的多裝置字型适配方案探讨》  《信鴿團隊原創:一起走過 iOS10 上消息推送(APNS)的坑》 《騰訊信鴿技術分享:百億級實時消息推送的實戰經驗》 >> 更多同類文章 …… [2] 有關QQ、微信的技術故事: 《QQ和微信兇猛成長的背後:騰訊網絡基礎架構的這些年》 《閑話即時通訊:騰訊的成長史本質就是一部QQ成長史》 《2017微信資料報告:日活躍使用者達9億、日發消息380億條》 《騰訊開發微信花了多少錢?技術難度真這麼大?難在哪?》 《技術往事:創業初期的騰訊——16年前的冬天,誰動了馬化騰的代碼》  《技術往事:史上最全QQ圖示變遷過程,追尋IM巨人的演進曆史》  《技術往事:“QQ群”和“微信紅包”是怎麼來的?》  《開發往事:深度講述2010到2015,微信一路風雨的背後》  《開發往事:微信千年不變的那張閃屏圖檔的由來》  《開發往事:記錄微信3.0版背後的故事(距微信1.0釋出9個月時)》  《一個微信實習生自述:我眼中的微信開發團隊》 《首次揭秘:QQ實時視訊聊天背後的神秘組織》 >> 更多同類文章 ……

(本文同步釋出于:http://www.52im.net/thread-1448-1-1.html)