網際網路時代,各類應用成為每個人生活的必需,從即時通訊到娛樂遊戲,再到線上會議、辦公協同,好用的產品會在短時間內會吸引海量用戶。前臺流暢、優質的用戶體驗,離不開後臺穩定技術和架構支持。
12月20日,在2020 Techo Park開發者大會騰訊爆款產品分論壇上,騰訊雲副總裁李鬱韜指出,好的產品背後是技術的不斷演進。騰訊公司成立22年,創造出一系列產品,積累了強大的技術能力,並將這些技術和能力標準化,開放給企業和開發者,讓他們靈活地把這些技術整合到業務場景中。未來,騰訊雲也將持續輸出穩定、安全、可靠的產品,支持更多企業和開發者創造「偉大的產品」。
在當天的分論壇上,來自騰訊廣告、騰訊遊戲光子工作室、騰訊會議、騰訊文檔的產品技術和運維負責人分享了這些爆款產品背後的技術實踐。
請求量近千億、技術模塊超過1000個,騰訊廣告如何上雲?
騰訊生態覆蓋超過12億月活用戶,在今天已成為品牌觸達用戶的重要媒介。騰訊廣告目前的請求量接近千億,其背後有廣告投放、播放、發布、回流計費、日誌處理、模型策略等六大核心系統,技術模塊超過1000個。
如此龐大的業務系統,為何選擇上雲?騰訊廣告運維負責人張志譚指出,網際網路技術生態在雲上發展已經成為大趨勢,未來騰訊的業務都將跑在雲上。與此同時,雲上豐富的組件和專業的運維團隊,可以大幅降低人力成本、加速技術迭代。於是,從2019年開始,騰訊廣告業務開始上雲。
上雲分三步走:投放、發布、回流計費系統容器上雲,DB、COS等組件適配雲上組件,播放系統則使用CVM上雲。
播放系統是騰訊廣告最大的一個系統,其中騰訊廣告檢索是一個核心模塊。這一模塊藉助騰訊雲自研星星海SA2雲伺服器提供的穩定高性能算力,支撐每日多達數百億次的廣告檢索計算任務,匹配一條廣告的計算耗時相比採用傳統伺服器降低了25%。今年的618、雙十一電商大促中,在廣告數和請求量,都大幅增長情況下,SA2的穩定性和性能都得到了考驗和驗證。
張志譚稱:「騰訊廣告業務的特點是高流量大並發,對穩定性要求高、對時延超敏感型,計算密集、CPU內存交互頻繁。經過一年多的雲上實踐,我們已經沒有了上雲的顧慮。」
騰訊廣告的雲上實踐也獲得了直接的收益:檢索模塊的性能提升了25%,網絡調用時延部署之後下降了5到10毫秒,單機成本也下降了40%,機器交付速度提升10倍,各種組件開發維護的人力成本大幅下降80%,專業性大幅提升。
騰訊遊戲構建一整套技術體系,支持超百款遊戲穩定運行
騰訊遊戲已經面向中國及海外市場推出了很多優質的產品,服務來自200多個國家和地區的超過8億用戶,包括《王者榮耀》、《PUBG Mobile》、《和平精英》等現象級遊戲,這背後是騰訊遊戲搭建起的一套穩定、可靠的技術架構評審體系。
騰訊遊戲光子工作室技術運營負責人張廷進指出,「騰訊遊戲數量非常多,超過 150款,包括代理和自研。這些遊戲中,每一個遊戲都有自己的一套架構,使用的開源組件千差萬別。遊戲場景中大量的物理計算、超大地圖、海量資源都對容量規劃提出了挑戰。更為重要的是,遊戲對於時延非常敏感、丟包容忍度低,為了提升玩家體驗,騰訊遊戲在就近接入、弱網優化等方面做了大量的探索。」
針對遊戲技術運營的挑戰,騰訊遊戲已經構建了一套完整的流程,前期通過TDR(騰訊技術設計評審)評審體系來保障業務架構合理性,排除伺服器、客戶端、技術運營、反外掛等方面的風險點,為業務的穩定上線奠定基礎;中期通過建設配套的支撐系統,提供與業務成長匹配的基礎服務,持續提升業務架構健壯性,用以支撐外網的穩定運營;後期,除基礎質量外,技術運營領域更多關注的是如何提升玩家的體驗,例如通過預下載機制減少客戶端更新時長、通過性能優化減少卡頓率等。
生於雲、長於雲,騰訊會議如何小步快跑、厚積薄發
騰訊會議上線於2019年12月25日。趕上疫情,在家辦公需求暴漲,騰訊會議迅速從一個新產品成為爆款產品。截至目前,騰訊會議的註冊用戶數已經超過1億。超高速增長背後是依靠騰訊雲的平臺支持能力和業務側靈活、高可用的底層架構。
騰訊會議後端技術總監王彬介紹,騰訊會議後端技術發展經歷了三個階段,第一個是驗證階段,基於騰訊雲的IaaS和PaaS平臺,快速搭建原型系統,小步快跑、完善和打磨產品體驗,主要實現了會議核心的音視頻通信、IM和會議文檔功能,並且實現系統上雲。藉助騰訊雲的雲伺服器、雲資料庫、雲加速、實時音視頻(TRTC)等產品,騰訊會議用2-3個人就快速搭建起了後端架構。
第二個是爆發階段,依託於騰訊雲平臺,快速擴容並補齊系統的短板,保證服務的可用性。疫情期間,騰訊會議日均擴容雲主機接近1.5萬臺,8天總共擴容超過10萬臺雲主機,共涉及超百萬核的計算資源投入,創造了行業新的歷史。同時,藉助騰訊雲遍布全球的IDC機房、數據節點和加速節點,騰訊會議快速完成了全球部署和接入,確保全球用戶使用會議的良好體驗。
同時,騰訊會議也在建立完整的壓測系統。疫情期間,技術團隊每天從凌晨開始做壓測,從中發現系統的不足和瓶頸問題,並形成長期的流程和自動化壓測機制。
第三個是提升階段,提升系統的服務質量和架構上的擴展能力。主要的工作是系統服務化拆分,降低維護成本和提升系統的運營質量,拆分出核心模塊和非核心模塊,提升核心模塊的穩定性和容災能力。在接入和流量優化上,通過通信鏈路的優化,快速降低了單會議的平均內網轉發流量和包量。在IDC優化上,建立分級的數據中心,調度用戶就近接入和數據流閉環。
通過騰訊會議的實踐,王彬指出,新的業務核心是快速開發、快發驗證的能力。而藉助雲平臺的技術力量,可以實現業務的快速上線和迭代,技術團隊可以聚焦在功能的開發,整個團隊可以保持速度優勢,實現業務的突破和發展。
支持數百人在線協同編輯,騰訊文檔背後是全生命周期的前端管理體系
騰訊文檔是一款支持隨時隨地創建、編輯的多人協作在線文檔工具。它的功能豐富,基本上是把office系列辦公軟體搬到了雲上。
騰訊文檔前端架構師張鵬介紹:「騰訊文檔是超級大型的前端項目,其功能包含傳統Office大部核心功能,支持數百人在線協同編輯。複雜的功能導致其代碼量非常大,比如編輯單元格涉及函數計算、圖表繪製、多人協的衝突處理。」
整體來看,騰訊文檔的代碼行數超過100萬,模塊超過1000個,單元測試超過4000個,伴隨著功能不斷迭代,系統也不斷膨脹中。
針對這樣一個超大前端項目,架構的基本要求就是要能管理大量模塊複雜的依賴關係。而騰訊文檔在不斷的摸索中,實現了從基本的依賴管理,到複雜的異步依賴治理,到模塊的分層單向依賴,再到模塊全生命周期管理的優化。
架構的優化能帶來性能的紅利。張鵬舉例,比如通過模塊的生命周期管理做容器切換,相比較傳統的方式,就能顯著提升頁面的打開速度,相應地提升用戶體驗。