微信、QQ都在用的腾讯云EB级对象存储架构剖析
背景:5月23-24日,以“煥啟”為主題的騰訊“云+未來”峰會在廣州召開,廣東省各級政府機構領導、海內外業內學術專家、行業大咖及技術大牛等在現場共議云計算與數字化產業創新發展。
來自騰訊TEG技術工程事業群架構平臺部的劉金明在騰訊“云+未來”峰會的「開發者專場」做了主題為“騰訊云EB級對象存儲架構剖析及實踐”的技術內容分享。
關于對象存儲,我們先從騰訊存儲平臺TFS開始說起,早在2016年騰訊推出了自研的云存儲平臺TFS,幾年間為相冊、QQ、微信、微云、騰訊視頻等騰訊內部產品提供了優質的存儲服務。
2013年,騰訊云把存儲能力包裝之后開始對外開放。
2014年,騰訊存儲突破500PB,數據量達到萬億級別。
2015年,引擎升級商用標準化,數據量達到EB級別。
2016年,對存儲引擎和架構優化之后,性能得到了更好的提升,同時基于存儲之上的智能數據分析也應運而生。
COS的產品生態可以分為三層:
最底層為COS存儲層,提供了多種語言的SDK開發包和完全兼容S3的API供客戶使用。
中間的應用接入層為COS提供一些高級擴展能力和解決方案,比如圖片鑒黃、視頻轉碼等數據處理和識別服務,以及智能安防、大數據、醫療影像等行業解決方案。
最上層為CDN加速層,視頻、手機應用商店等大流量客戶可以選擇通過CDN加速上傳和下載。
目前COS已經在亞洲、歐洲、美洲等全球13個園區開放,在世界杯來臨之際,俄羅斯園區也即將開放。
COS是典型的三層架構:
最上層的網絡接入層提供多級BGP接入,通過騰訊接入網關TGW可以實現智能的負載均衡,同時接入層可以對一些攻擊流量進行清洗。
應用接入層無狀態管理,集群橫向無限擴展。
數據層跨機架跨交換機部署,索引和數據模塊SET化擴展,冷熱數據智能調度。
對存儲產品來說想讓客戶放心的將自己的核心數據上云,大家比較關心的問題是什么?
無外乎以上的5點,服務足夠穩定,數據不能丟失足夠可靠,數據足夠安全,性能足夠好,并且價格最低。
總而言之就是物美價廉。
除了通過常規的單點故障自動剔除、防過載、失敗有限重試外,一旦遇到突發事件時,COS增加了業務突發自動隔離、頻控、流控等手段避免雪崩效應,保障系統有效輸出,可用性達到99.95%。
同時對于一些可預見的突發,比如春節期間的微信祝福視頻,電商大促的活動等等,可以通過提前評估擴容、熱點數據自動分發到大流量平臺等技術方案保障業務高可用,當平臺資源達到瓶頸時也可以采用將拓展功能屏蔽只保留核心功能的方法進行柔性服務,或者按用戶感知度如視頻降碼率等方法降級服務。
通過多副本、糾刪碼,故障快速發現并重建,以及從磁盤到機房多維度進行容災,使得數據的可靠性達到11個9。
在安全性方面,COS打造了從傳輸、訪問、存儲全鏈路安全加密存儲。
在最近與騰訊影業的合作探討中,有兩部科幻探索方向的電影作品,一部是陸川導演執導的《兩萬里計劃》,一部是改編自騰訊動漫同名IP的《拓星者》。約2個小時的電影,前期需要進行數百T的圖片、視頻、音頻的素材拍攝,再經過全球多個后期特效優秀團隊數月的跨國合作,最終我們才能在大熒幕觀賞到這兩部作品。
其中,跨國合作涉及的數據傳輸尤其復雜,過往的合作通常需要專人攜帶硬盤出差到各國,拷貝數據給當地團隊。不僅費時(往往多耗時一個月)、費力、更費心,硬盤丟失、內容泄露等情況屢屢發生。
而通過和COS的合作,可以幫助騰訊影業的影視項目實現快速安全的數據存儲與傳輸。? ? ? ? ??
性能方面,對視頻、圖片、安裝包等不同大小、不同類型的文件采用不同的優化策略。
以上傳為例,對于大文件可以采用分塊并發上傳,小文件通過架構、引擎以及協議棧層面的優化使得訪問路徑更短,延時更低,同時客戶可以選擇通過CDN就近接入加速上傳。
而對于不同的文件類型,比如圖片客戶可以選擇Guetzli或者WebP等格式,在保證圖片視覺質量,不改變分辨率的前提下,生成的圖片更小,性能和成本雙贏。
成本方面,除了前面提到的圖片、視頻等可以采用壓縮轉碼等技術實現成本優化外,COS本身提供了標準、低頻、歸檔三級存儲產品,客戶可以按自身的業務特點,選擇自己的存儲級別,同時可以通過生命周期在不同級別之間靈活的調度數據,在極限情況下,客戶的成本可以降低80%。
在硬件層面,在存儲密度和機房功耗方面也在不斷的優化。
我們所做的一切優化最終都會通過降價把這個紅利讓給用戶,西南區(成都、重慶)降價24%,達到全球最低價。
除了上文提到的幾個基本功能以外,騰訊云COS也在陸續推出一些高級功能。
生命周期:客戶只需在COS控制臺配置一個規則就可以很方便的讓數據在各級存儲之間流動和刪除。
跨區域復制:既可以通過異地容災進一步提升可靠性外還可以達到加速的目的,比如之前提到的和騰訊影業的合作可以通過跨區域復制更快的將在海外拍攝的素材同步到國內給后期制作團隊使用。
多版本:一方面作為跨區域復制的必選項,保證數據的有序可靠,另外還可以在客戶誤刪除的情況下恢復數據。
標簽:可以幫助客戶對數據進行分類和處理,現在很多識別場景都需要打標簽,比如直播,會有人物、風景、游戲等各種標簽,可以通過COS的標簽服務更好的分類和推薦。另外也可以通過標簽對視頻的各種碼率進行標記,和生命周期一起將標記為原始視頻的定期沉降,標記為低碼率的視頻定期刪除。
清單:可以快速的列表,加速大數據分析或對賬,客戶只需配置一個規則,清單就會定時將列表投遞到客戶的bucket。
在做好平臺的同時,COS也推出了一系列的解決方案。
比如智能安防解決方案可以很好的支撐那些對監控視頻有進一步挖掘的客戶。網絡攝像頭的所有視頻流上傳至COS,云端閉環推流解碼、人臉檢測、人臉比對并實時輸出對比結果。
原始視頻文件在COS通過生命周期智能調度,需要遠程調取攝像頭數據時,只需從COS下載相關視頻即可。
在大數據方面,客戶可以通過HDFS to COS的遷移工具很方便的將本地HDFS的數據遷移到COS上,配合騰訊云大數據套件可以對COS中的數據進行實時和離線分析。另外可以利用前文說到的清單和生命周期提升性能并降低成本。
?
未來騰訊云COS會推出更多應用類的解決方案給廣大客戶。
騰訊前沿技術 | 產品 | 行業信息交流發布平臺
?總結
以上是生活随笔為你收集整理的微信、QQ都在用的腾讯云EB级对象存储架构剖析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 腾讯研发专家:TXSQL如何成为云计算时
- 下一篇: 大道至简—GO语言最佳实践