欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

1億qq在線背后的技術

系統 2120 0

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


1億qq在線背后的技術


莊泗華:騰訊通平臺部高級技術總監、騰訊T4級技術專家、騰訊軟件開發通道分會會長。中科院計算技術研究所碩士,2004年畢業加入騰訊,是騰訊培養出的第一位T4專家級畢業生。一直致力于QQ IM后臺海量服務系統的研發和運營工作,負責過聊系統、QQ接入與基礎通信服務系統等后臺系統的研發和運營,見證了QQ在線從800萬到1.4億的整個過程。


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


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

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


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

1億qq在線背后的技術



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

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

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

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



第三代架構 億級在線時代的到來

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

莊泗華表示億時代在線的四個關鍵特性: 高性能、高可用性、高可運維性和高靈活性

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


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



本文轉自: 騰訊1億用戶在線背后的技術挑戰


----------------------------------------------------------


QQ基礎數據庫架構演變史


QQ基礎數據庫, 作為騰訊最核心最基礎的后臺服務之一,是存儲QQ用戶帳戶信息和關系鏈信息的海量集群,它承載了百萬級每秒的訪問量、十億級的賬戶數、百億級關系鏈。如此大規模的集群,它是如何從300萬的數量級一步一步演變而來?在它數據量不斷增長的過程中,它經歷了哪些困難,又是如何解決的?如今,它的架構是怎么樣的?


QQ Basic DB是什么?是QQ用戶帳號(用戶密碼與資料)與關系鏈等基礎數據的分布式海量存儲集群。是QQ IM業務的后臺DB;是騰訊幾乎所有其他業務的基礎,提供用戶帳號和關系鏈服務。它與QQ IM 集群并列為騰訊最核心、歷史最久的兩大集群。


早期的難題

在2000年,QQ Basic DB將每300萬連續QQ號碼存儲在一個機器上。碰到的最大問題是在登錄比較頻繁的情況下,磁盤非常忙,登錄超時。找到了影響磁盤隨機尋址能力的因素,我們提出了解決方案在進程空間內,動態分配一些內存,將用戶熱點數據cache到內存中。使得處理能力顯著提升,單機能夠處理1-2千次每秒的請求。

時間進入2002年,隨著機器臺數增多,死機是家常便飯。QQ Basic DB通過IDC級容災、數據復制等方法將(500+)*2臺機器;數百億的關系鏈,數十億的賬戶數;每秒百萬次讀,數萬次寫的數據庫的全年可用性做到了99.99%。


如何做到高可用?

1、IDC級的容災

1億qq在線背后的技術


2、灰度發布

1億qq在線背后的技術


3、強監控,及時處理

Bison提到,隨著時代的變遷,需求不斷增加,QQ Basic DB走入了V2.0。當前的需求與DB能力的脫節;一地的機房已飽和,異地部署逼在眉睫!新增一個帳號相關字段,需要2個月,把內存全部重新load一遍,風險極高。老的架構不能很好的支持異地部署,因此QQ Basic DB V2.0應運而生。

在演講中Bison特別強調,要做到產品特性靈活擴展,最關鍵的是用戶數據結構的靈活性!QQ Basic DB在V2.0版本中,對數據結構擴展性上進行了大量優化。現場Bison例舉了一個很簡單的例子:采用XML開式存儲用戶數據的優劣性。存儲海量數據的QQ Basic DB,不適宜采用類似XML方式進行存儲,原因是當存儲量超過億級時,冗余信息將極大占用通訊帶寬!QQ團隊通過tag整數化、必選的定長字段共用一個tag等手段(tag-length-value,TLV),最終讓DB有效載荷相對XML模式提升了 10倍,pack/unpack效率提升了100倍!

1億qq在線背后的技術

Bison列舉的一個簡單XML存儲例子

在下一個部分,Bison主要提到了大家比較關心的QQ Basic DB安全性問題,其中一個非常重要的點就是異地部署。他特別強調,數據安全最關鍵的是有一套簡單健壯、適應窄帶化的數據復制機制。QQ Basic DBV2.0通過類似mysql復制機制做到了簡單健壯,帶寬占用窄帶化,在專線故障情況下,流量可以在內外網靈活切換。目前在全國各地都有部署。

1億qq在線背后的技術


接下來,廖念波先生給大家介紹了優化了分片(sharding)方式、超長關系鏈解決方法、過載保護等方面的內容,給大家全面展示了騰訊的一些技術積累和總結。

1億qq在線背后的技術



本文轉自 : 窺探QQ基礎數據庫架構演變史


參考推薦:

1.4億在線背后-QQ IM后臺架構的演化與啟示


1億qq在線背后的技術


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 精品一区二区三区网站 | 成人免费xxxxx在线观看 | 性欧美一区 | 久久99国产亚洲精品观看 | 亚洲一区中文字幕在线观看 | 狠狠色丁香婷婷综合久久片 | 亚洲 欧美 精品 | 久久狠狠 | 国产一级一级毛片 | 国产欧美在线观看视频 | 日日夜夜爱 | 久久丁香| 欧美精彩视频 | 波多野结衣三级在线观看 | 精品欧美一区二区在线看片 | 视频二区| 成人片免费看 | 亚洲视频国产一区 | 91久久亚洲精品一区二区 | 色妞色视频一区二区三区四区 | 99久久一香蕉国产线看观看 | 亚洲高清国产拍精品影院 | 狠狠躁夜夜躁人人爽天天段 | 欧美精品 在线播放 | 午夜影院操 | 成人黄色网址 | 欧美电影在线观看网站 | 天天操夜夜噜 | 91精品国产高清一区二区三区 | 亚洲视频在线网站 | 国产成人lu在线视频 | 性xxxx免费观看视频 | 久久久久久9 | 免费在线成人 | 91网页在线观看 | 范丞丞星座 | 婷婷在线视频 | 亚洲国产精品久久婷婷 | 天天操 夜夜操 | 欧美日韩久久久 | 日韩2区|