20万台QQ服务器全量上云,4位腾讯老兵阐述“火车换引擎”背后逻辑
早年,騰訊主要創辦人之一、前 CTO 張志東給騰訊寫下第一份商業計劃書時,為 QQ 定的第一個“五年計劃”是在線人數突破 1 萬。
實際上,兩年內這個數字就達到了 100 萬。
QQ 風靡了網絡社交的初創時代,締造無數奇跡,成為騰訊最龐大、最悠久、最復雜的業務之一,以至于我們很大程度上強化了“騰訊就是 QQ,QQ 就是騰訊”的概念。
到后來,QQ 除了業務上取得成功,也留下了大量支持后臺的計算設備——其中就包括 20 萬臺冰冷的服務器,分布在華南、華北、華東三大區域。這些年,QQ 后臺服務依賴關系極為復雜。
不過,騰訊云團隊近日宣布:社交業務包括 QQ 和空間的體量有近 20 萬臺服務器已經全量上云,分布在 3 地的用戶全都遷到了云上,實現完整的 QQ 公有云上服務。
是的,“開著火車換引擎”,騰訊做到了。
業內人士評價,這次自研上云的成功,一方面為騰訊云的進一步壯大打下堅實的基礎,另一方面,也為 QQ 自身的技術重生埋下伏筆。
基于此,雷鋒網與 4 位騰訊老兵,對 QQ 上云的規劃、挑戰、流程進行了對話,以尋找到背后的邏輯。
“自研上云”是最新技術戰略
2018 年9·30 變革后,騰訊進行了“扎根消費互聯網、擁抱產業互聯網”戰略升級和提出了“科技向善”的新愿景,新成立的技術委員會,明確了“開源協同、自研上云”的公司技術戰略。
開源協同是代碼開放、資源協同,自研上云就是技術協同的一種最終落地的形式,在公有云上協同應用。
口號喊出來,就像是劍已出鞘。
自研上云項目天然作為一種全公司的重大舉措要被支持,這個時候意味著全公司的資源(BG 的資源)要全面擁抱騰訊云。
騰訊公司運營管理部運營規劃負責人陳鐵鋼表示,不光騰訊云要增加一部分人力來支持自研業務,同時自研業務的人,也要主動把自己的人力放上去支持把騰訊云的業務做好,是一個合力。
在這個技術戰略背景下,QQ 加快速度往云上“遷徙”。
陳鐵鋼在 2007 年加入騰訊,一直負責公司資源運營布局規劃、運營成本優化和架構評審工作,參與并見證了騰訊服務器從 2 萬臺到 100 萬臺的規劃落地。
在騰訊服務器過百萬臺的歷史時刻,他參與了騰訊技術戰略升級的重大變革,即推動自研業務上云。
QQ 業務上云的挑戰與應對
如果把 QQ 當做行進中的列車,那么云就是一個新的引擎。QQ 本身在業務層面不可能換擋降速,所以作為引擎的基礎設施必須變!
陳鐵鋼提到,在過去,騰訊云跟 QQ 等這種自研業務是完全割裂的兩個資源體系,自研業務用著一千臺自研的服務器或者十萬臺自研的服務器,云上業務支持 20 萬臺的服務器,兩邊是割裂的。
QQ 體量龐大,各系統間耦合非常強,這是一個非常大的難度。
作為騰訊云運維中心總負責人,徐勇州說到一個細節:2015 年,騰訊云在上海建立了一個測試業務上云的沙箱,整個基礎設施都是騰訊本身的計算存儲及數據庫等能力。
QQ 當時已經嘗試把業務放進來測試,但當時沙箱沒有解決整個網絡互通的問題,導致方案一直沒拿出來。
2018 年底-2019 年初,集團的“自研上云”戰略明確之后,騰訊加大了在網絡互聯互通上的投入。與此同時,騰訊云的精力也由服務外部大客戶到加大對內部自研業務的支持。
值得注意的是,QQ 上云工作不是一蹴而就,早幾年就已經在做,比如前文提到的沙箱測試,QQ 之所以成為自研上云的先行軍,與其準備度高分不開。
徐勇州在 2005 年 10 月份加入騰訊,是 QQ 后臺的第一位專職業務運維,一直負責 QQ 的運維能力建設,經歷了 QQ 從 1000 萬到 2 億最高同時在線的技術架構演進。
他表示,技術變革背景下,這個階段上云會體現出更大的一個價值,和過去砂箱的區別不是僅僅產品的有和無,還有就是服務和能力支持的一個問題。
QQ 即時通訊的特點,決定了用戶對 QQ 的實時性要求很高,怎樣合理灰度,做到用戶對上云過程零感知,是一座需要跨越的大山。
“QQ 這種業務是屬于海量的用戶互相訪問的過程,既不可預測,也沒法做一個良好規劃。QQ 的訪問中,有大量臨時的 UDP(用戶數據報協議)的訪問會建立起來,會帶來各方面對基礎的虛擬化和網絡、計算性能的挑戰。”
說這話的是肖世廣,他是騰訊云原生架構總經理,前 QQ 技術運營總監。2008 年進入騰訊,曾先后負責 QQ、Qzone、騰訊視頻、QQ 音樂、騰訊廣告、QQ 農牧場等互聯網產品的技術運營管理工作。
他看到了無數的后端技術壓力,僅僅一個 QQ 群,就是原有技術需求幾百倍的放大。
作為騰訊云服務器第一負責人,李力親歷了云服務器從 0 到 1 的過程。他表示,早期給 QQ 做優化的時候,騰訊云更傾向于優化數據的性能,因為 QQ 中大量臨時 UDP 出現,會變成 QQ 上云之后一個比較小的性能瓶頸。
但是這個非常小的性能瓶頸可能就會帶來成本急劇的增加——因為 QQ 的業務實在太大了。
因此,面對 QQ 這種場景,騰訊云先嘗試做資源補充,研發團隊、虛擬化團隊花了很長時間在具體的細節方面做了很多工作,在軟件定義網絡的項目把這個問題解決掉,以一個非常合理的資源和成本滿足 QQ 的業務要求。
據雷鋒網(公眾號:雷鋒網)了解,QQ 后臺服務搬遷到云上部署,還面臨著安全問題(云上更容易被惡意入侵)、依賴問題(QQ 后臺服務依賴關系復雜)、容災問題(云環境多地容災)、灰度問題(用戶零感知)。
僅僅從容災方面來看,QQ 上云需提前評估自研機房到云機房所需的帶寬。
假如使用城市方案,專線帶寬應該跟現有的三地部署方案對齊。QQ 核心系統大概需要幾十G的帶寬。若采用 IDC 方案,QQ 里面有很多業務使用有狀態的尋址方式,把同城內的機房全部打散訪問。
因此,把廣州云當做深圳的 IDC 后,廣州云和深圳的專線穿越會增大。參考深圳內部的 IDC 穿越帶寬,預計需要增加幾十G的帶寬。
為此,開發者們評估了自研到云機房的帶寬:支持 QQ 幾大核心系統(接入、消息、狀態、資料、關系鏈、登錄)所需要的帶寬為N。而所有 QQ 基礎功能都遷移到云上,則至少需要 2N 的帶寬。
考慮到容災問題,實際上拉了兩條專線互備(防止專線被挖斷形成孤島),即為 QQ 上云專門搭建 4N 的帶寬專線。
這個項目為騰訊云和 QQ 都埋下了新伏筆
“集團給我們明確了,不是為了上云而上云,其中有一條:QQ 上云不能有額外的成本支出。”
陳鐵剛表示,騰訊內部對成本有著極致的要求。
有 20 年歷史的 QQ,成為騰訊內部運營時間最長的業務。
一方面這幾年騰訊云給 QQ 提供云上資源支持,另一方面 QQ 原本很多服務器到了服務年限,大部分都被自然裁撤了,少量的可以置換到其他云下的業務使用。
如果為了上云而把所有的服務器一下子從自研搬到云上,這會是一個非常巨大的成本。
現在,在 3 年上云的節奏下,騰訊云終于完成這項壯舉,也終于可以回答“自己家業務上云了沒有”這個問題。
當然,這件事對 QQ 本身的技術價值也非常之大,比如全面擁抱 DevOps,研發效率更高效;全面擁抱 DevOps,研發效率更高效;徹底擁抱云原生,用云來滿足業務快速迭代,資源彈性伸縮的需求;主動與開源社區協同,貢獻更多的功能特性。
在騰訊云走過全網服務器總數量突破 100 萬臺、帶寬峰值突破 100T、前 3 季度營收突破 100 億的重要節點上,QQ 全量上云,必將又是一個新的起點!
總結
以上是生活随笔為你收集整理的20万台QQ服务器全量上云,4位腾讯老兵阐述“火车换引擎”背后逻辑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2万机架,14.5亿投资,国家健康医疗大
- 下一篇: 性能提升23% 金山云第四代云服务器正