日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

深度揭秘:腾讯存储技术发展史

發布時間:2024/8/23 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度揭秘:腾讯存储技术发展史 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

采訪嘉賓 |?騰訊云副總裁謝明等

圖源 | 視覺中國

來源?| CSDN(ID:CSDNnews)

在騰訊內部,負責騰訊存儲技術研發的部門,一直被認為是生產技術專家的“黃埔軍校”。騰訊不少技術方向的負責人,最早也都出自這個團隊。

?

這或許可以看出這只團隊的底蘊——對于騰訊來說,存儲是幾乎所有業務開展的基礎,存儲技術和架構的迭代是騰訊最關注的技術方向之一。

?

作為海量數據的堅實承載,騰訊存儲技術支撐了微信、QQ、QZone、郵件、微云、流媒體等內部業務的快速發展,同時也為快手、OPPO、小紅書、海康、獵豹、58同城等幾十多萬個客戶騰訊云上客戶提供了可靠的服務,整體數據量高達EB級別。

?

本文中,我們將采訪騰訊云存儲技術相關負責人,深度揭秘騰訊云存儲從零開始,到如今支撐起ZB級數據存儲系統的技術演進歷程,以及背后一些有趣的故事。

騰訊存儲技術演進歷程

?

騰訊存儲技術的演進基本上可以分為以下階段:

1.?海量存儲(2005~2010),支撐社交網絡,構平臺,撐海量

?

騰訊存儲技術的發展,起源于2005年前后國內社交網絡興起。QQ、QZone(相冊)業務的發展帶來了海量的圖片、文件、頭像等UGC數據。為應對海量存儲的挑戰,騰訊云開始自研并構建了幾套核心存儲平臺,包括TFS(通用性存儲平臺),CTFS(數據頻刪型存儲,用于短期臨時存儲),TDB(基于HDD的鍵值對存儲平臺),TSSD(基于SSD的鍵值對存儲平臺)。

?

這些自研平臺為騰訊對象存儲的發展奠定了基礎。基于存儲SET容量模型,騰訊云構建起標準可控的運營體系,支撐起了QQ空間、微云、QQ等產品的海量存儲需求。

2.?跨地分布(2011~2013),分拆大體量業務,搬數據,騰機房

?

2011~2013年,QQ相冊等大體量業務的訪問量、存儲量迅速增長,對深圳的三通機房在機架、帶寬方面產生了較大壓力。為應對底層機房,帶寬等方面的瓶頸,存儲平臺啟動了相冊一通點等項目,海量業務數據開始從深圳向西安、杭州、廣州、上海等地分布,訪問帶寬同時調度到天津、南京、東莞等成本更低的一通機房。?

?

存儲平臺在做數據分布搬遷的過程中,自身也在同步迭代演進。比如TFS從3份存儲演進為同時支持1/2/3份數據的多副本存儲;CTFS從2份存儲演進為同時支持2/3份數據存儲。TSSD平臺也從僅支持單機獨享的Uin-Value定制存儲演進為支持多租戶的通用Key-Value存儲。

3.?冷存儲(2014~2015),分離冷數據,降份數,省成本

?

騰訊相冊、微云、郵件等業務在業務發展中,逐步積累起來較多的UGC歷史數據,這些歷史數據訪問量低、存儲量大,對業務的運營成本構成了較大的壓力。為了應對冷數據存儲的成本挑戰,2015年前后,騰訊基于糾刪碼研發了BTFS平臺(Backup-TFS)。對業務進行了數據分層,增量數據訪問量大,用TFS存儲3份;歷史冷數據從TFS平臺剝離出來,從3副本存儲轉向1.33副本的糾刪存儲,降低了存儲成本。這個階段中,騰訊優化BTFS,使得部分低訪問量業務的增量數據也可以直接存儲進來。

4.?云存儲磨合期(2016~2017),重構系統,兼容接口

?

在磨合期,騰訊云基于已有的存儲訪問接口和平臺架構對外提供服務。經過一段時間的運營,騰訊云發現外部第三方業務在體驗、可用性、成本等諸多運營方面有極高的要求。為支撐云的需求場景,騰訊云對存儲的接入層和索引層架構進行重構,架構扁平,模塊精簡,同時開始舍棄私有接口,轉為兼容AWS S3接口與功能。重構后存儲架構支撐了騰訊云COS近幾年的發展。(注:對象存儲COS,CloudObjectStorage,是由騰訊云推出的安全穩定、便捷易用、低成本的海量云端存儲服務。)

5.?多云時代(2018~),對標行業,比成本,拼質量

?

伴隨公有云的逐步普及,用戶存儲的數據成幾何倍數增長,硬件發展日新月異,公有云提供商間的競爭日趨激烈。2017年,騰訊云的數據量突破一個EB,成為騰訊存儲歷史上的一個標志性節點。

?

AWS S3的存儲訪問接口已成為公有云上對象存儲事實上的行業標準,存儲成本、運營質量成為客戶上云選擇產品提供方的主要考量。

?

在這一階段,騰訊重新審視了機房,機型等方面的技術演進趨勢,重構了公有云對象存儲引擎(詳解見下文)。新架構采用大容量高密度存儲機型,針對存儲SET導致的閑置資源分散和隔離等多個主要矛盾,進行了全面應對和優化。

?

先從整體上對騰訊云存儲有了一個大致了解后,我們再從各階段一些重要節點事件,來了解騰訊云存儲技術演變背后的邏輯,供業內參考。

?

七八個人搞了TFS

?

2005年,QQ空間發布,大量存儲需求爆發。

?

騰訊云副總裁 、云架構平臺部總經理謝明,以及騰訊云架構平臺部系統研發中心總監郭振宇,都是騰訊云在2005-2006年開始做統一存儲架構時期的重要親歷者。

?

2003-2004年,谷歌發表了俗稱“三大件”的論文,即BigTable、GFS和MapReduce,這是從原先的企業級存儲向互聯網時代大規模使用廉價的分布式存儲的一個較早期的實踐。

?

受此啟發,謝明、郭振宇與團隊中七八個人開始做通用性存儲平臺TFS,把RPC框架和通信協議、存儲相關的數據遷移、巡檢系統等逐步做起來,第二年初就將這套存儲系統用到了 QQ 相冊。

?

用上TFS后,QQ相冊解除了每天800萬張圖片的上傳限制,結束了那段只有QQ黃鉆用戶才能無限上傳圖片的歷史,普通用戶再也無需凌晨24點守在電腦前搶著上傳圖片。

?

但與谷歌 GFS 主要面對搜索場景,因此主要解決的問題是大文件存儲不同,騰訊的業務里圖片較多,小文件才是要解決的主要問題,但是TFS并不適合做小文件存儲,因此又創建了KV存儲平臺——TDB。

?

再往后,騰訊云的業務中又出現了一些需要頻繁刪除的場景,CTFS應運而生,用于短期的臨時存儲。這套系統在頻刪型的場景,如文件中轉站中非常實用。積累了一定口碑后,其他業務也逐漸遷移到CTFS。

?

除了這些,團隊還針對業務場景進行用戶體驗優化,例如優化了索引。原先的文件系統索引有很多層,拓展性強,但是每次硬盤要進行多次訪問。當文件較大,硬盤多次訪問會造成延時。為此,TFS設計之初就力爭硬盤只訪問一次,把chunkID(段表示)和FID索引放在一起,用戶讀取索引時就能知道圖片在哪塊盤上,只要訪問一次硬盤就能讀取圖片,減少磁盤IO次數提升了用戶體驗。

?

之后,TFS又陸續被用于網絡硬盤、QQ郵箱等產品中。

騰訊史上最大數據搬遷

?

時間到了2009年,騰訊日益擴張的業務與激增的數據量使得存儲的訪問帶寬問題暴露出來。

?

2009年騰訊存儲團隊合影

那時,騰訊幾乎所有的數據都在深圳,但當時國內的骨干網寬帶與現在不可同日而語。QQ相冊高峰時占用40-50G,而1G的流量對公司的網絡就已經是很大的負擔了。因此,在控制帶寬高峰的驅動下,騰訊開始考慮把存儲向西安搬遷。

?

謝明回憶,當時搬遷的第一個設備的數據量是100T。現在看來,這個數字也許并不大,但當時卻是騰訊歷史上最大的一次數據搬遷,因為那時候基本上沒有專線可用,數據搬遷都是趁著半夜公網空閑搬遷過去的!

微信紅包爆發帶來存儲壓力

?

2014-2015 年,移動互聯網崛起。

?

在這期間,騰訊也有兩件大事發生。一是微信開始流行,2014年除夕的微信紅包,連帶著朋友圈的圖片分享讓微信火爆起來。原來在 PC 時代春節期間不怎么值班的騰訊工程師們發現,春節期間不得不安排更多人值班了,以應對除夕和元旦凌晨12點到12點10分這十分鐘內,搶紅包和圖片發布劇增的數據。騰訊的存儲系統面臨著史無前例的壓力。

2016年騰訊存儲團隊春節值班零點后留影

?

為此,謝明團隊與微信團隊溝通,對大型緩存系統、延時通知等技術進行改進。水來土掩,兵來將擋,到2015年騰訊存儲已經可以應對除夕夜突發性問題。

?

第二件大事是網絡硬盤的發展給存儲帶來很大的成本壓力。作為一項免費服務,如何控制成本成了謝明團隊的又一個巨大的挑戰。為此,團隊于2014年完成并上線了基于糾刪碼的BTFS平臺。

業務也是技術發展的助推器

?

騰訊云存儲技術能力的不斷完善,也離不開業務不斷提出的挑戰。

?

郭振宇舉了兩個例子來說明當時團隊面臨的挑戰,一個是微信與海外同類產品,如在東南亞人氣很高的Line和WhatsApp。為了在競爭中獲得優勢,微信做了很多事情,比如東南亞用戶與國內進行數據溝通時鏈路很長,團隊就基于存儲做了加速通道,從而加速了國內外數據傳輸,速度超過Line和WhatsApp。

?

另一個例子是游戲,QQ農場相信對于每個90后都不陌生,但不一定有人了解,全民偷菜的熱情曾讓騰訊的服務器數度崩潰。當時,農場訪問量巨大,但騰訊還沒有全存儲系統,TDB是基于SAS盤存儲的,在每秒數萬的并發訪問下,底層存儲系統的延時和請求吞吐挑戰非常大。

?

騰訊基本上把公司所有閑置服務器都用在QQ農場,但仍遠遠不夠,需要大量采購服務器。團隊一方面通過瘋狂的機器擴容,另一方面基于數據規模不太大但是訪問量極高的業務特點,快速研發了全內存的分布式存儲系統,在保障數據安全可靠的前提下,并發訪問的性能得到極大提升。快速上線、快速驗證,完全自研,團隊再次闖關成功,“修為”再上一層樓。

從開放平臺到服務B端,很多事情變了

?

面向B端客戶提供服務,是騰訊云存儲技術的另一個關鍵節點。

?

從2010年起,騰訊就開始做開放平臺云。2013年,騰訊云正式面向B端用戶全面開放。

?

在計算云迅猛發展的大背景下,行業競爭日益激烈,客戶可選擇面較大,對功能、性能、質量、價格等方面的需求不斷增強。

?

此外,從騰訊云自身現狀來說,數據量的不斷增大,隨之帶來軟硬件成本、運維成本優化的收益日趨增大。

?

同時,行業下游的基礎設施,如大型數據中心、新機型、新硬件、各種存儲介質、網絡環境的不斷發展演進。相比十幾年前,單個IDC機房從數千臺,到騰訊目前超百萬裝機量超大規模機房;網絡從千M網卡,發展到百G網卡,整個基礎設施發生了天翻地覆的變化。

?

這些變化,都在呼喚騰訊云在存儲系統架構上做出改變。

YottaStore,打破傳統IT存儲系統架構

?

騰訊云從2017年開始構思,并于2018年正式啟動了下一代云原生對象存儲系統設計——YottaStore。

?

名字由來

?

YottaStore這個名字實際上取得很有深意,騰訊云架構平臺部存儲研發中心總監楊奮強介紹了Yotta這個詞背后的含義。

?

對于做存儲的同學來說,經常會跟GB、TB、PB、EB這些概念打交道。現在全球互聯網非常大的巨頭公司的數據量基本都是在EB這個量級。EB上面是ZB,全球互聯網巨頭數據起來也就幾個ZB;ZB上面是YB,也就是YottaByte,目前全世界所有的數據加起來也不會超過一個Yotta。另外這個單詞中文譯名“有他”,給人安全可靠放心的感覺,系統的Slogan就是“存儲有他,能力無限”。

?

所以,Yotta——有他既是騰訊存儲同學們對這個系統海量數據存儲能力的深厚期望,也是對服務質量和可靠性的巨大承諾。為了實現上述期望和承諾,YottaStore實現了眾多業界獨一無二的技術突破。

?

技術突破

?

集群規模:YottaStore是一個云原生的數據存儲系統,這個系統的理論極限是一個集群可以管理超上千萬臺服務器。而要管理這上千萬臺的機器,元數據管理只需要用600G左右的空間,用一臺機器就能存下索引結構,這在業界是絕無僅有的。

?

資源利用率:當集群規模非常大的時候,其實1%的剩余空間量都是非常非常大的,所以YottaStore的硬盤利用率非常高,加上實時回收機制,有效數據占比達90%以上,這在業界非常少見。

?

另外,由于大集群的全集群均衡能力,服務器資源使用均衡,所以資源使用率也可以做得很高,這樣服務器硬件可以最低位配置,所有尖峰流量在這個異常大的池子里,波瀾不驚。所以無論是成本、還是服務能力,都很大程度受益于超大規模集群帶來的紅利。

?

靈活性:YottaStore單集群可以零研發成本同時支持各種不同的冗余模式,像兩副本、三副本、四副本、五副本,任意的EC編碼,任意的M、加任意的N、任意的算法;單AZ、雙AZ、多AZ也都可以靈活支持;另外,整個集群可以自適應各種各樣不同的機型,包括JBOD;各種硬盤介質,如磁帶、HDD、SSD等,存儲的拓撲結構、混合部署也都可以任意指定。這樣的靈活性在業界首屈一指。

?

運營能力:以存儲節點迭代升級為例,十萬百萬規模的一個集群,上線升級速度都是一樣的,如果是同構的數據格式,分鐘級就可以完成整個升級過程;而如果是異構的數據格式,集群可以在短時間內自動將數據格式透明收斂到最新版。

?

可用性:YottaStore開始上線大規模支撐業務的前三個月一直維持百分之百的可用性,到現在一年半了,系統一直單人值周零故障運行,在業界是極少見的。可用性數個9很容易,但是可用性100%非常難。例如機房網絡抖動,如果容錯做的不夠好,就很容易就會出現失敗。但是YottaStore在初期上線的很長一段時間都是百分之百的可用性。

?

業務支撐

?

YottaStore是騰訊云對象存儲服務COS的數據存儲引擎,支撐起整個騰訊云海量數據的存儲。COS的標準存儲、低頻存儲、歸檔存儲、多AZ存儲等產品形態都是基于YottaStore推出。

?

得益于YottaStore在集群規模、資源利用率、靈活性等方面的技術突破,近期COS重磅推出的深度歸檔產品刷新了業界存儲的最低價:1分錢/GB/月。

?

激烈競爭環境下,成本是存儲業務勝出的關鍵因素之一。YottaStore是如何優化成本的呢?

?

資源利用率提高:基于前文所述的在超大規模集群和超高資源利用率上的技術突破,隨著資源利用率的增高,單位存儲的成本隨之降低。

?

高密硬件適配:隨著磁盤容量擴大,單機磁盤數變多密度增高,成本也隨之降低;此外,CPU、網卡等新硬件的變化都會導致成本降低。

?

場景優化:針對海量小文件的用戶場景,YottaStore采用多種冗余和數據組織策略持續優化成本。

?

此外,對于一套承載著用戶業務數據的存儲系統來說,數據一個都不能丟、安全可靠是最重要的承諾。在數據可靠性方面,YottaStore在數據冗余、數據巡檢、數據修復、數據校驗等方面做了很多工作,保障了數據的可靠性。

?

到這里,我們回顧了騰訊云存儲技術發展的全部歷程,也得以從中一窺互聯網大廠在底層存儲技術與業務發展緊密結合,“配合作戰”成功的秘訣,希望對業內有一定的啟發。云時代下,騰訊云存儲還將有哪些創新,我們拭目以待。

?

更多閱讀推薦
  • 荷蘭政府用大數據預測天氣預防自然災害,他們是怎么做的?
    阿里云資深技術專家易立:我對云原生軟件架構的觀察與思考

  • SQL分頁查詢方案的性能對比

  • 螞蟻集團兩地上市暫緩,阿里巴巴股價大跌,員工快到手的大 House 飛了!

  • 離職后竟半夜偷溜回辦公室寫代碼?一個為自由軟件而戰斗的程序員

總結

以上是生活随笔為你收集整理的深度揭秘:腾讯存储技术发展史的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。