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