從 DAU 5 萬到用戶數破億,揭祕騰訊會議增長背後的技術實踐

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"10.5 個人開發的一款產品 ,在正式上線兩個月後,其日活用戶就超過 1000 萬。不到一年,它的註冊用戶就突破 1 億。並且,其國際版在全球超 100 個國家和地區上線。過去一年,它支撐了 3 億場會議。這是騰訊會議正式發佈一年來取得的成績。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"而一年前,騰訊會議纔剛剛亮相,顯得平淡無奇。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2019 年 12 月 25 日,騰訊雲發佈一款雲視頻會議產品,即騰訊會議,它致力於提升跨企業、跨區域溝通和協作效率,幫助企業節省人力、時間等成本。用戶可以直接通過手機、電腦、小程序等入口打開即用,一鍵入會。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"產品發佈後不久,疫情的到來促使企業和個人對遠程會議的需求增長,騰訊會議步入高速發展階段,駛入一條快車道。扛過疫情後,騰訊會議又不斷推出新功能,持續進行架構優化,提升服務質量。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"回顧過去這一年,騰訊雲副總裁、騰訊會議負責人吳祖榕把騰訊會議最大的特點概括爲“生於雲、長於雲”。某種意義上,“生於雲、長於雲”不僅讓騰訊會議有了一個堅實的技術底座,而且經受住疫情的考驗,甚至爲其整個發展奠定了基礎。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"一個 DAU 5 萬的小目標"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"騰訊會議最早可追溯至 2018 年 7 月,此時,這個項目正式啓動,前途未知。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"“那時,我們要把最小的功能單元做出來,最大的壓力是團隊規模小,整個騰訊會議的開發團隊只有 7.5 個人。”吳祖榕在接受採訪時說。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2019 年 5 月,騰訊會議發佈了 0.94 內測版本,總共使用了 10.5 個人,其中前端 8 個人、後端 1.5 個人、產品 1 個人。當時,騰訊雲投入 1.5 個後臺開發人員,花了兩個月時間搭建起整個騰訊會議的後臺體系,核心技術則來自騰訊雲原生的一系列技術組件。據悉,在基礎設施層,騰訊會議使用了騰訊雲的雲服務器(CVM)和容器服務(TKE);在存儲層,用了騰訊雲的數據持久化(TDSQL);在邏輯層,使用了狀態數據緩存(REDIS)、日誌服務(CLS);在接入層,用上了騰訊雲的接入域名(DNSPOD)和負載均衡(CLB in TKE)。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"吳祖榕表示,這極大降低了後端的開銷,讓後臺開發人員只需關注業務邏輯,保障整個業務的推出。“所有的技術組件都是由(騰訊雲)雲原生提供的,使得我們開發資源就像搭積木一樣。”他說。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"並且,正是因爲騰訊會議在早期充分使用了一系列的雲原生組件,也爲其後續擴容提供了極大便利。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2019 年 12 月 25 日,騰訊會議正式對外發布,團隊當時定了一個小目標:希望在 2020 年底,騰訊會議的 DAU(日活躍用戶)可以達到 5 萬。如果在 2020 年底實現 5 萬 DAU 的目標,“我們覺得這就是我們今年最好的成績”。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"上線兩個月,DAU 破 1000 萬"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"世事難料,在騰訊會議發佈近 1 個月後,武漢封城,疫情形勢日益嚴峻。在武漢封城第二天,騰訊會議發佈公告,面向用戶免費開放 100 人不限時會議功能。此後,繼續擴容,免費開放增加至 300 人。與此同時,大量用戶開始陸續湧入平臺,而騰訊會議在短時間內迎來海量用戶的快速增長。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2 月初,騰訊會議迎來巨大考驗。它的系統最初是爲 5 萬 DAU 目標設計的,但是,在不到兩個月的時間,騰訊會議的 DAU 突然翻了幾百倍。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"騰訊會議後端技術總監王彬在接受 InfoQ 記者採訪時說:“前期,我們系統投入的人力並不多,包括從產品到研發。此時,突然有上百倍的增長,這對我們的系統有很大的壓力。”隨着用戶量的不斷飆升,系統能否撐住變得至關重要。“2 月份,團隊停掉所有新的開發任務,唯一的要求是穩定“。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"吳祖榕稱,穩定是最重要的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2 月 3 日,即春節後開工第一天,隨着海量用戶的湧入,各大辦公軟件陸續“崩了”,騰訊會議也沒扛住。穩定是第一要務已經不言而喻。如何保證穩定,關鍵是擴容。2 月 10 日正式復工,這意味着騰訊會議只有 8 天的擴容時間。“復工復學第一天,我們就開始了夜以繼日的擴容”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"以前,騰訊談海量服務是“先扛住,再優化,週期往往是一個月或兩個月。吳祖榕表示,”到了疫情期間,這個週期縮短到 24 小時:白天,我們做大量的擴容,保障帶寬資源、服務器資源等;夜裏,我們針對產品性能等問題做大量的開發、部署;凌晨,我們再對當天的所有變更、代碼優化做壓力測試”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"白天擴容,晚上優化,這 8 天是所有人壓力最大的時候。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"8 天后,擴容 10 萬臺雲主機,累計有超百萬核的計算資源投入。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不過,對王彬他們而言,事情遠未結束。“我們的設備跟進了,但我的管理能力是跟不上的”。他打了一個比方,一個飯店以前一天接待 100 人,突然有一天,要接待 10000 人。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"設備雖然得到擴容,但並不是事情就完成了,業務層面還有大量的細節需要優化和解決。擴容前,業務層只是一個幾十臺設備的集羣系統,系統的管理和調度系統都比較簡單。擴容後,突然變成一個多地域,設備數達 10 萬級的集羣,原有的調度和管理系統完全無法支撐這麼大的規模,需要快速優化和局部重構。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"因此,這就需要他們做很多事,比如入口路徑規劃等等。具體說來,集羣化管理上,完成 4 個普通 Set 和 2 個 BGP Set 的建設,這樣可根據業務發展情況,靈活調度和擴容。在接入和加速優化層面,利用騰訊雲在全球的 IDC 機房、數據節點和加速節點,騰訊會議完成了全球部署和接入,確保全球用戶的使用體驗。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"除調度系統的優化外,還要梳理所有模塊的調用關係,明確系統的核心路徑,儘量簡化核心路徑,減少和取消核心路徑的外部依賴。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對於存儲層,王彬介紹,由於訪問量突增,同時需要確保低延遲的接口響應,將核心模塊的存儲從 MySQL 遷移到騰訊雲 redis,確保在高併發下系統的穩定性。爲了發現系統瓶頸,他們也建立了一套分佈式的壓測系統,每天凌晨進行壓力測試,從壓測中發現系統的瓶頸點,再快速的優化和改進。通過每日壓測,系統的同時在線服務能力逐漸從 100 多萬上升到 500 萬、800 萬在線。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在人力方面,他們同樣“壓力山大”,因爲整個人力非常短缺。據王彬介紹,在騰訊會議 1.0 版本發佈時,它的後臺開發只有幾個人。在疫情期間,雖然擴容了 10 萬臺雲主機,但是系統要調整,架構要優化,這也意味着需要有更多的開發人員。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"人手不夠怎麼辦?他們一方面緊急招募新人和一些志願者;另一方面,向騰訊雲求助,騰訊雲兄弟部門則派了四五個團隊過來協助。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"事實證明,騰訊會議的成功擴容和後續優化,不僅讓它扛住了復工後洶湧而來的巨大流量,而且經受住疫情的巨大考驗。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"吳祖榕說:“你要能在 8 天擴容 100 萬核,你不長在雲上,做不了這件事情。如果是傳統的做法,完全沒辦法在這麼短時間裏調集這麼多服務器資源、帶寬資源、技術資源等。這就是‘生於雲、長於雲’背後最核心的東西。”"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"245 天,註冊用戶破 1 億"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在疫情得到控制後,騰訊會議的第一要務從穩定變成了功能和服務質量。與此同時,它也從爆發期邁入穩定期。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這時,騰訊會議在技術上主要是持續打造自己的核心能力。首先,在音視頻的核心體驗上,“多方通信是一個帶約束條件的技術問題”,端到端通信需要在 400 毫秒內完成。如果時間小於 200 毫秒,效果會更好。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"吳祖榕表示,“這個過程中,每增加一個新技術,就會帶來延遲,因爲要運算、要處理,處理完之後再交給下一個環節。這一塊越長,鏈條越複雜”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"雖然約束條件是 400 毫秒,但是團隊在內部定的目標是在 200 毫秒內完成端到端通信。在這個過程中,他們做了許多事情。比如,語音方面,團隊專門採集很多噪聲,甚至還花費很多力氣去採集雨點打到玻璃窗上的聲音。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"“有一天,我們正在開會,而外邊下起了大雨。因此,會議另一邊的人聽着非常嘈雜,他們問發生了什麼事情。這時,我們意識到雨點噪聲(對會議的影響)”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"除了雨點聲,團隊還採集了公交車開門的聲音、餐桌上喫盒飯的聲音、關門聲、水杯放在桌子上的聲音、咳嗽聲、微信消息提示聲和敲鍵盤的聲音等等。據瞭解,他們累計採集了上幾百種的聲音。團隊把採集下來的聲音作爲噪聲,將經典信號處理與深度學習結合,通過 AI 訓練來實現降噪,目的是在開會期間安靜地把聲音傳輸給對方,提升整體的溝通效率。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"另一個深入音視頻核心場景的技術實踐與椅子有關。當時,騰訊會議新出了一個功能,叫虛擬背景。因爲疫情期間,人們在家開會時會打開攝像頭,但背後的畫面有時並不適合出現在攝像頭裏,因此就有了這個功能。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但是,這個虛擬背景最大的問題是椅子的頭枕,它會在後面凸出來,給人的體驗很不好。爲解決這個問題,團隊採集了近 6 萬張帶有頭枕椅子的數據,給它們做標註,從而實現更好的虛擬背景效果。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"“整個階段,我們圍繞‘聽得清、看得清、聽得真、看得真’做了大量的努力。”吳祖榕說。除了音視頻層面,持續打造核心能力的第二點是後端技術。據騰訊會議後端技術總監王彬介紹,第一,他們做了系統服務化拆分,把“會管會控”拆分成主控、媒體網關、安全、權限、數據網關、消息、應用。“拆了以後,需求不用每次改個‘大胖子’,消息的改消息,安全的改安全,這對整個服務的質量提升是有幫助的”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"並且,這樣做還可以降低維護成本和提升系統的運營質量,拆分出核心模塊和非核心模塊,則大大提升了核心模塊的穩定性和容災能力。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第二,在接入方面,他們建立分級的數據中心,完善後臺管理體系和調度系統,調度用戶就近接入和數據流閉環。以前,他們接入的機房均位於北京、上海、深圳等地,但這些機房的成本很高。那怎麼辦?於是,他們將全國數據中心劃分爲三級:第一級爲 DC,在北京、上海等地;第二級是 EC,位於成都、重慶、武漢等地;第三級是 OC,比如蘭州等地。“像成都等這些地方不比一線城市,它的成本會低一點。我成都的會就在成都開,接入成都的 IDC 機房”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第三,在部署和運營上,他們從預發佈、灰度 Set 到普通 Set 再到 VIP Set 形成一套完整的流程和體系。新版本正式上線前會有預發佈,通過自動化撥測檢測系統的質量和可用性。然後,進入灰度 Set 階段,基於後臺管理體系評估灰度版本的質量,減少系統發佈異常的影響範圍。經過灰度 Set 驗證的版本,在普通 Set 開始部署和放量。最後是 VIP Set,在普通 Set 驗證系統和功能的穩定性後,逐步部署到 VIP Set 中。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"此外,他們還進行了流量優化、提升通信質量,等等。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"現在,王彬他們正在做私有化系統建設。基於騰訊雲 TCS 平臺,由 TCS 提供雲基礎設施、中間件、數據庫等產品服務整合,涵蓋應用自動化測試、部署、升級、運維等,打造將業務快速私有化和交付的能力。同時,在功能上,支持超大型在線會議和更多的數據類型等。“現在,我們的企業版支持 2000 人開會,後面會支持更多的人,比如支持 10000 人、20000 人開會。”他說。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在騰訊會議正式發佈 245 天后,其註冊用戶正式突破 1 億。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"寫在最後:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"雖然騰訊會議已經一歲,但是它未來的路還有很長。正如吳祖榕在採訪中所說:“至少在明年一年的時間裏,我們在會議上要補充的東西依然有很多,我們的路還很長很長。過去一年,你會發現騰訊會議的界面幾乎沒有變過,但是我們在每個版本上都迭代了非常多的細節,優化了產品。”"}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章