默認
打賞 發表評論 19
騰訊QQ1.4億在線用戶的技術挑戰和架構演進之路PPT [附件下載]
閱讀(50474) | 評論(19 收藏13 淘帖2

前言


眾所周知海量互聯網服務能力是世界公認的技術難題。經過十多年的發展,騰訊在海量互聯網服務方面已有不少技術積累。PPT中以QQ IM后臺服務為例,重現了QQ在線用戶從百萬級到億級的整個過程中遇到的技術挑戰,并與與會者分享了眾多在海量互聯網后臺服務研發運營方面不為人知的秘密。

內容簡介


QQ現在面臨7億活躍賬戶,每日1.4億用戶同時在線。QQ過萬臺IM服務器和百億級的關系鏈對數每天接受千億級的服務請求考驗。在這些苛刻的數字面前騰訊要保證99.99%的可用性。當然團隊在QQ在線從10萬到1.4億的整個過程也經歷了很多破折,同時從十萬級、百萬級、千萬級最終到億級在線騰訊也吸取了很多教訓。這也說明了騰訊對海量服務的理解是長期積累的結果。


1第一代架構難以支持百萬級在線


PPT中提到了騰訊的第一代架構。他表示當達到一百萬在線時,老架構會有各方面的瓶頸出現。以接入服務器的內存為例,單個在線用戶的存儲量約為2KB,索引和在線狀態50字節。好友表400個好友 * 5字節/好友等于2000字節。大致來說,2G內存只能支持一百萬在線用戶。與此同時,還有CPU/網卡包量和流量/交換機流量等瓶頸。其他服務器也面臨類似情況。單臺服務器支撐不下所有在線用戶/注冊用戶。第一代架構已無以為繼。

騰訊通平臺部高級技術總監莊泗華認為十萬級到百萬級在線的關鍵技術是高性能和實現7乘24小時連續服務。實現高性能的關鍵因素包括絕不使用企業級解決方案、邏輯層多進程、萬有一失的無鎖設計、用戶態IPC、MySQL分庫分表以及好友表自寫文件存儲。而通過大系統小做、平滑重構、核心數據放入共享內存、接入層與邏輯層分離以及命令分發動態配置化可保證QQ后臺實現7乘24小時連續服務。

2第二代架構難以支持千萬級在線


同樣第二代架構也存在一些問題。包括同步流量太大、狀態同步服務器遇到單機瓶頸、所有在線用戶的在線狀態信息量太大、單臺接入服務器存不下等問題。并且當在線數進一步增加,單臺狀態同步服務器不能滿足需求,單臺狀態同步服務器支撐不了所有在線用戶,單臺接入服務器也支撐不了所有在線用戶的在線狀態信息。

通過深入分析,騰訊發現后臺機器越來越多,單機死機/故障就會經常出現。同時每周新代碼的發布也導致BUG不斷出現,嚴重影響服務。監控機制的相對原始導致報警設置不全。最后當運維操作通過vim或者mysql進行時也非常容易失誤。

騰訊通平臺部高級技術總監莊泗華表示想要解決這些問題就需要對現有架構進行改造。這包括對外提供高可用性的服務、對內提供高可運維性的系統。同時灰度發布、運營監控、容災以及運維自動化/半自動化也是解決千萬級在線所面臨問題的關鍵技術。

3億級在線時代的到來


隨著億時代在線到來,騰訊也面臨了新的問題。通過對原有系統持續完善已經很難支撐億級在線。

莊泗華表示億時代在線的四個關鍵特性:高性能、高可用性、高可運維性和高靈活性。由于互聯網行業要求每個月出一個新版本。所以必須提供高靈活性的業務支持。作為硬件層面來說,高可運維性則需要物理架構詳細到機架、并具備故障分析智能化、運維操作組件化和負載自動轉移等特性的支持。而要保證系統的高性能,自寫存儲層是至關重要的因素。莊泗華還表示在線量每提升一個量級,技術難度也會提升一個量級。

最后莊泗華認為互聯網行業有自己的技術規律,需要做自己的技術積累。而騰訊IM服務的未來戰略就是全球化分布、高效率的研發以及監控告警的智能化。

PPT主講者介紹


騰訊QQ1.4億在線用戶的技術挑戰和架構演進之路PPT [附件下載]_QQ20160321-0.png 莊泗華 騰訊通平臺部高級技術總監、騰訊T4級技術專家、騰訊軟件開發通道分會會長。
中科院計算技術研究所碩士 2004年畢業加入騰訊,是騰訊培養出的第一位T4專家級畢業生。
一直致力于QQ IM后臺海量服務系統的研發和運營工作。
負責過QQ群聊系統、QQ接入與基礎通信服務系統等后臺系統的研發和運營,見證了QQ在線從800萬到1.4億的整個過程。

PPT截圖預覽


騰訊QQ1.4億在線用戶的技術挑戰和架構演進之路PPT [附件下載]_1.jpg
騰訊QQ1.4億在線用戶的技術挑戰和架構演進之路PPT [附件下載]_2.jpg
騰訊QQ1.4億在線用戶的技術挑戰和架構演進之路PPT [附件下載]_3.jpg
騰訊QQ1.4億在線用戶的技術挑戰和架構演進之路PPT [附件下載]_4.jpg
騰訊QQ1.4億在線用戶的技術挑戰和架構演進之路PPT [附件下載]_5.jpg
騰訊QQ1.4億在線用戶的技術挑戰和架構演進之路PPT [附件下載]_6.jpg
騰訊QQ1.4億在線用戶的技術挑戰和架構演進之路PPT [附件下載]_7.jpg
騰訊QQ1.4億在線用戶的技術挑戰和架構演進之路PPT [附件下載]_8.jpg

PPT附件下載


騰訊IM架構:1億在線背后的技術挑戰.pdf (1.55 MB , 下載次數: 2654 , 售價: 2 金幣)

推薦文章


點擊進入:《17年的實踐:騰訊海量產品的技術方法論

附錄1:全站精品資源下載


[1] 精品源碼下載:
輕量級即時通訊框架MobileIMSDK的iOS源碼(開源版)[附件下載]
開源IM工程“蘑菇街TeamTalk”2015年5月前未刪減版完整代碼 [附件下載]
微信本地數據庫破解版(含iOS、Android),僅供學習研究 [附件下載]
NIO框架入門(四):Android與MINA2、Netty4的跨平臺UDP雙向通信實戰 [附件下載]
NIO框架入門(三):iOS與MINA2、Netty4的跨平臺UDP雙向通信實戰 [附件下載]
NIO框架入門(二):服務端基于MINA2的UDP雙向通信Demo演示 [附件下載]
NIO框架入門(一):服務端基于Netty4的UDP雙向通信Demo演示 [附件下載]
用于IM中圖片壓縮的Android工具類源碼,效果可媲美微信 [附件下載]
高仿Android版手機QQ可拖拽未讀數小氣泡源碼 [附件下載]
一個WebSocket實時聊天室Demo:基于node.js+socket.io [附件下載]
Android聊天界面源碼:實現了聊天氣泡、表情圖標(可翻頁) [附件下載]
高仿Android版手機QQ首頁側滑菜單源碼 [附件下載]
開源libco庫:單機千萬連接、支撐微信8億用戶的后臺框架基石 [源碼下載]
分享java AMR音頻文件合并源碼,全網最全
微信團隊原創Android資源混淆工具:AndResGuard [有源碼]
一個基于MQTT通信協議的完整Android推送Demo [附件下載]
Android版高仿微信聊天界面源碼 [附件下載]

[2] 精品文檔和工具下載:
計算機網絡通訊協議關系圖(中文珍藏版)[附件下載]
史上最全即時通訊軟件簡史(精編大圖版)[附件下載]
基于RTMP協議的流媒體技術的原理與應用(技術論文)[附件下載]
獨家發布《TCP/IP詳解 卷1:協議》CHM版 [附件下載]
良心分享:WebRTC 零基礎開發者教程(中文)[附件下載]
MQTT協議手冊(中文翻譯版)[附件下載]
經典書籍《UNIX網絡編程》最全下載(卷1+卷2、中文版+英文版)[附件下載]
音視頻開發理論入門書籍之《視頻技術手冊(第5版)》[附件下載]
國際電聯H.264視頻編碼標準官方技術手冊(中文版)[附件下載]
Apache MINA2.0 開發指南(中文版)[附件下載]
網絡通訊數據抓包和分析工具 Wireshark 使用教程(中文) [附件下載]
最新收集NAT穿越(p2p打洞)免費STUN服務器列表 [附件下載]
高性能網絡編程經典:《The C10K problem(英文)》[附件下載]
即時通訊系統的原理、技術和應用(技術論文)[附件下載]
技術論文:微信對網絡影響的技術試驗及分析[附件下載]
華為內部3G網絡資料: WCDMA系統原理培訓手冊[附件下載]
網絡測試:Android版多路ping命令工具EnterprisePing[附件下載]
Android反編譯利器APKDB:沒有美工的日子里繼續堅強的擼
一款用于P2P開發的NAT類型檢測工具 [附件下載]
兩款增強型Ping工具:持續統計、圖形化展式網絡狀況 [附件下載]

[3] 精選視頻、演講PPT下載:
QQ空間移動端10億級視頻播放技術優化揭秘(視頻+PPT)[附件下載]
RTC實時互聯網2017年度大會精選演講PPT [附件下載]
微信分享開源IM網絡層組件庫Mars的技術實現(視頻+PPT)[附件下載]
微服務理念在微信海量用戶后臺架構中的實踐(視頻+PPT)[附件下載]
移動端IM開發和構建中的技術難點實踐分享(視頻+PPT)[附件下載]
網易云信的高品質即時通訊技術實踐之路(視頻+PPT)[附件下載]
騰訊音視頻實驗室:直面音視頻質量評估之痛(視頻+PPT)[附件下載]
騰訊QQ1.4億在線用戶的技術挑戰和架構演進之路PPT[附件下載]
微信朋友圈海量技術之道PPT[附件下載]
手機淘寶消息推送系統的架構與實踐(音頻+PPT)[附件下載]
如何進行實時音視頻的質量評估與監控(視頻+PPT)[附件下載]
Go語言構建高并發消息推送系統實踐PPT(來自360公司)[附件下載]
網易IM云千萬級并發消息處理能力的架構設計與實踐PPT [附件下載]
手機QQ的海量用戶移動化實踐分享(視頻+PPT)[附件下載]
釘釘——基于IM技術的新一代企業OA平臺的技術挑戰(視頻+PPT)[附件下載]
微信技術總監談架構:微信之道——大道至簡(PPT講稿)[附件下載]
Netty的架構剖析及應用案例介紹(視頻+PPT)[附件下載]
聲網架構師談實時音視頻云的實現難點(視頻采訪)
滴滴打車架構演變及應用實踐(PPT講稿)[附件下載]
微信海量用戶背后的后臺系統存儲架構(視頻+PPT)[附件下載]
在線音視頻直播室服務端架構最佳實踐(視頻+PPT)[附件下載]
從0到1:萬人在線的實時音視頻直播技術實踐分享(視頻+PPT)[附件下載]
微信移動端應對弱網絡情況的探索和實踐PPT[附件下載]
Android版微信從300KB到30MB的技術演進(PPT講稿)[附件下載]

附錄2:全站即時通訊技術資料分類


[1] 網絡編程基礎資料:
TCP/IP詳解 - 第11章·UDP:用戶數據報協議
TCP/IP詳解 - 第17章·TCP:傳輸控制協議
TCP/IP詳解 - 第18章·TCP連接的建立與終止
TCP/IP詳解 - 第21章·TCP的超時與重傳
理論經典:TCP協議的3次握手與4次揮手過程詳解
理論聯系實際:Wireshark抓包分析TCP 3次握手、4次揮手過程
計算機網絡通訊協議關系圖(中文珍藏版)
NAT詳解:基本原理、穿越技術(P2P打洞)、端口老化等
UDP中一個包的大小最大能多大?
Java新一代網絡編程模型AIO原理及Linux系統AIO介紹
NIO框架入門(三):iOS與MINA2、Netty4的跨平臺UDP雙向通信實戰
NIO框架入門(四):Android與MINA2、Netty4的跨平臺UDP雙向通信實戰
>> 更多同類文章 ……

[2] 有關IM/推送的通信格式、協議的選擇:
為什么QQ用的是UDP協議而不是TCP協議?
移動端即時通訊協議選擇:UDP還是TCP?
如何選擇即時通訊應用的數據傳輸格式
強列建議將Protobuf作為你的即時通訊應用數據傳輸格式
移動端IM開發需要面對的技術問題(含通信協議選擇)
簡述移動端IM開發的那些坑:架構設計、通信協議和客戶端
理論聯系實際:一套典型的IM通信協議設計詳解
58到家實時消息系統的協議設計等技術實踐分享
>> 更多同類文章 ……

[3] 有關IM/推送的心跳保活處理:
Android進程保活詳解:一篇文章解決你的所有疑問
Android端消息推送總結:實現原理、心跳保活、遇到的問題等
為何基于TCP協議的移動端IM仍然需要心跳保活機制?
微信團隊原創分享:Android版微信后臺保活實戰分享(進程保活篇)
微信團隊原創分享:Android版微信后臺保活實戰分享(網絡保活篇)
移動端IM實踐:實現Android版微信的智能心跳機制
移動端IM實踐:WhatsApp、Line、微信的心跳策略分析
>> 更多同類文章 ……

[4] 有關WEB端即時通訊開發:
新手入門貼:史上最全Web端即時通訊技術原理詳解
Web端即時通訊技術盤點:短輪詢、Comet、Websocket、SSE
SSE技術詳解:一種全新的HTML5服務器推送事件技術
Comet技術詳解:基于HTTP長連接的Web端實時通信技術
WebSocket詳解(一):初步認識WebSocket技術
socket.io實現消息推送的一點實踐及思路
>> 更多同類文章 ……

[5] 有關IM架構設計:
淺談IM系統的架構設計
簡述移動端IM開發的那些坑:架構設計、通信協議和客戶端
一套原創分布式即時通訊(IM)系統理論架構方案
從零到卓越:京東客服即時通訊系統的技術架構演進歷程
蘑菇街即時通訊/IM服務器開發之架構選擇
騰訊QQ1.4億在線用戶的技術挑戰和架構演進之路PPT
微信技術總監談架構:微信之道——大道至簡(演講全文)
如何解讀《微信技術總監談架構:微信之道——大道至簡》
快速裂變:見證微信強大后臺架構從0到1的演進歷程(一)
17年的實踐:騰訊海量產品的技術方法論
>> 更多同類文章 ……

[6] 有關IM安全的文章:
即時通訊安全篇(一):正確地理解和使用Android端加密算法
即時通訊安全篇(二):探討組合加密算法在IM中的應用
即時通訊安全篇(三):常用加解密算法與通訊安全講解
即時通訊安全篇(四):實例分析Android中密鑰硬編碼的風險
傳輸層安全協議SSL/TLS的Java平臺實現簡介和Demo演示
理論聯系實際:一套典型的IM通信協議設計詳解(含安全層設計)
微信新一代通信安全解決方案:基于TLS1.3的MMTLS詳解
來自阿里OpenIM:打造安全可靠即時通訊服務的技術實踐分享
>> 更多同類文章 ……

[7] 有關實時音視頻開發:
即時通訊音視頻開發(一):視頻編解碼之理論概述
即時通訊音視頻開發(二):視頻編解碼之數字視頻介紹
即時通訊音視頻開發(三):視頻編解碼之編碼基礎
即時通訊音視頻開發(四):視頻編解碼之預測技術介紹
即時通訊音視頻開發(五):認識主流視頻編碼技術H.264
即時通訊音視頻開發(六):如何開始音頻編解碼技術的學習
即時通訊音視頻開發(七):音頻基礎及編碼原理入門
即時通訊音視頻開發(八):常見的實時語音通訊編碼標準
即時通訊音視頻開發(九):實時語音通訊的回音及回音消除概述
即時通訊音視頻開發(十):實時語音通訊的回音消除技術詳解
即時通訊音視頻開發(十一):實時語音通訊丟包補償技術詳解
即時通訊音視頻開發(十二):多人實時音視頻聊天架構探討
即時通訊音視頻開發(十三):實時視頻編碼H.264的特點與優勢
即時通訊音視頻開發(十四):實時音視頻數據傳輸協議介紹
即時通訊音視頻開發(十五):聊聊P2P與實時音視頻的應用情況
即時通訊音視頻開發(十六):移動端實時音視頻開發的幾個建議
即時通訊音視頻開發(十七):視頻編碼H.264、V8的前世今生
簡述開源實時音視頻技術WebRTC的優缺點
良心分享:WebRTC 零基礎開發者教程(中文)
>> 更多同類文章 ……

[8] IM開發綜合文章:
移動端IM開發需要面對的技術問題
開發IM是自己設計協議用字節流好還是字符流好?
請問有人知道語音留言聊天的主流實現方式嗎?
IM系統中如何保證消息的可靠投遞(即QoS機制)
談談移動端 IM 開發中登錄請求的優化
完全自已開發的IM該如何設計“失敗重試”機制?
微信對網絡影響的技術試驗及分析(論文全文)
即時通訊系統的原理、技術和應用(技術論文)
開源IM工程“蘑菇街TeamTalk”的現狀:一場有始無終的開源秀
>> 更多同類文章 ……

[9] 開源移動端IM技術框架資料:
開源移動端IM技術框架MobileIMSDK:快速入門
開源移動端IM技術框架MobileIMSDK:常見問題解答
開源移動端IM技術框架MobileIMSDK:壓力測試報告
開源移動端IM技術框架MobileIMSDK:Android版Demo使用幫助
開源移動端IM技術框架MobileIMSDK:Java版Demo使用幫助
開源移動端IM技術框架MobileIMSDK:iOS版Demo使用幫助
開源移動端IM技術框架MobileIMSDK:Android客戶端開發指南
開源移動端IM技術框架MobileIMSDK:Java客戶端開發指南
開源移動端IM技術框架MobileIMSDK:iOS客戶端開發指南
開源移動端IM技術框架MobileIMSDK:Server端開發指南
>> 更多同類文章 ……

[10] 有關推送技術的文章:
iOS的推送服務APNs詳解:設計思路、技術原理及缺陷等
Android端消息推送總結:實現原理、心跳保活、遇到的問題等
掃盲貼:認識MQTT通信協議
一個基于MQTT通信協議的完整Android推送Demo
求教android消息推送:GCM、XMPP、MQTT三種方案的優劣
移動端實時消息推送技術淺析
掃盲貼:淺談iOS和Android后臺實時消息推送的原理和區別
絕對干貨:基于Netty實現海量接入的推送服務技術要點
移動端IM實踐:谷歌消息推送服務(GCM)研究(來自微信)
為何微信、QQ這樣的IM工具不使用GCM服務推送消息?
>> 更多同類文章 ……

[11] 更多即時通訊技術好文分類:
http://www.uktmgv.tw/forum.php?mod=collection&op=all

即時通訊網 - 即時通訊開發者社區! 來源: - 即時通訊開發者社區!

上一篇:Android反編譯利器APKDB:沒有美工的日子里繼續堅強的擼下一篇:微信朋友圈海量技術之道PPT [附件下載]

本帖已收錄至以下技術專輯

推薦方案
評論 19
雖然對企鵝一點好感都沒有,但是不得不承認qq架構的強悍。ppt里的內容還是有干貨的,很好的分享!
演講的視頻我找到地址了,絕對干貨,感興趣的看看:http://v.qq.com/cover/l/lsallcrrs0yjsgk.html
簽名: 國慶長假還沒有緩過來,請讓我靜一靜,產品狗死遠點...
引用:fengge8ylfx 發表于 2016-03-22 01:47
雖然對企鵝一點好感都沒有,但是不得不承認qq架構的強悍。ppt里的內容還是有干貨的,很好的分享!

大家都對某鵝好奇,這個演講值得推薦。
簽名: 養孩子真累。。
第一次聽騰訊技術分享
提示: 該帖被管理員或版主屏蔽
簽名: 來過
mark
簽名: 樣樣精通
如果有視頻就好了
簽名: 該會員沒有填寫今日想說內容.
引用:IM_emily2017 發表于 2017-06-28 11:56
如果有視頻就好了

這個演講沒有找到視頻,抱歉
簽名: 養孩子真累。。
學習學習
簽名: 該會員沒有填寫今日想說內容.
學習學習
簽名:
學習,必須mark
真的希望可以買金幣,哈哈
引用:cenji 發表于 2017-12-26 15:12
真的希望可以買金幣,哈哈

暫時買不了
簽名: 養孩子真累。。
內容不錯,學習。
簽名: 心情好
必須學習一下,謝謝分享
厲害
回復里提到的那個視頻不見了。有么有哪位高人指點?
簽名: IM新兵開始學習
引用:JamesWu 發表于 2018-11-06 16:29
回復里提到的那個視頻不見了。有么有哪位高人指點?

是的,這個視頻鏈接失效了,很多人分享技術只是一時的,很快就沒了
簽名: 養孩子真累。。
美呆呆
簽名: 剛來,知識都是我的菜!
打賞樓主 ×
使用微信打賞! 使用支付寶打賞!

返回頂部
曾氏料二肖中特