技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁(yè) > 教程 > 服務(wù)器類(lèi) >

談淘寶網(wǎng)升級(jí)圖片存儲(chǔ)服務(wù)

來(lái)源:技術(shù)員聯(lián)盟┆發(fā)布時(shí)間:2018-12-30 06:01┆點(diǎn)擊:

  一、淘寶網(wǎng)的困境

  對(duì)于淘寶網(wǎng)這樣的大型電子商務(wù)網(wǎng)站,對(duì)于圖片服務(wù)的要求特別的高。而且對(duì)于賣(mài)家來(lái)說(shuō),圖片遠(yuǎn)勝于文字描述,因此賣(mài)家也格外看重圖片的顯示質(zhì)量、訪問(wèn)速度等問(wèn)題。根據(jù)淘寶網(wǎng)的流量分析,整個(gè)淘寶網(wǎng)流量中,圖片的訪問(wèn)流量會(huì)占到90%以上,而主站的網(wǎng)頁(yè)則占到不到10%。同時(shí)大量的圖片需要根據(jù)不同的應(yīng)用位置,生成不同大小規(guī)格的縮略圖??紤]到多種不同的應(yīng)用場(chǎng)景以及改版的可能性,一張?jiān)瓐D有可能需要生成20多個(gè)不同尺寸規(guī)格的縮略圖。

  淘寶整體圖片存儲(chǔ)系統(tǒng)容量1800TB(1.8PB),已經(jīng)占用空間990TB(約1PB)。保存的圖片文件數(shù)量達(dá)到286億多個(gè),這些圖片文件包括根據(jù)原圖生成的縮略圖。平均圖片大小是17.45K;8K以下圖片占圖片數(shù)總量的61%,占存儲(chǔ)容量的11%。對(duì)于如此大規(guī)模的小文件存儲(chǔ)與讀取需要頻繁的尋道和換道,在大量高并發(fā)訪問(wèn)量的情況下,非常容易造成讀取延遲。

  2007年之前淘寶采用NetApp公司的文件存儲(chǔ)系統(tǒng)。至2006年, NetApp公司最高端的產(chǎn)品也不能滿足淘寶存儲(chǔ)的要求。首先是商用的存儲(chǔ)系統(tǒng)沒(méi)有對(duì)小文件存儲(chǔ)和讀取的環(huán)境進(jìn)行有針對(duì)性的優(yōu)化;其次,文件數(shù)量大,網(wǎng)絡(luò)存儲(chǔ)設(shè)備無(wú)法支撐;另外,整個(gè)系統(tǒng)所連接的服務(wù)器也越來(lái)越多,網(wǎng)絡(luò)連接數(shù)已經(jīng)到達(dá)了網(wǎng)絡(luò)存儲(chǔ)設(shè)備的極限。此外,商用存儲(chǔ)系統(tǒng)擴(kuò)容成本高,10T的存儲(chǔ)容量需要幾百萬(wàn),而且存在單點(diǎn)故障,容災(zāi)和安全性無(wú)法得到很好的保證。

  二、淘寶網(wǎng)自主開(kāi)發(fā)的目的

  商用軟件很難滿足大規(guī)模系統(tǒng)的應(yīng)用需求,無(wú)論存儲(chǔ)還是CDN還是負(fù)載均衡,因?yàn)樵趶S商實(shí)驗(yàn)室端,很難實(shí)現(xiàn)如此大的數(shù)據(jù)規(guī)模測(cè)試。 研發(fā)過(guò)程中,將開(kāi)源和自主開(kāi)發(fā)相結(jié)合,會(huì)有更好的可控性,系統(tǒng)出問(wèn)題了,完全可以從底層解決問(wèn)題,系統(tǒng)擴(kuò)展性也更高。 在一定規(guī)模效應(yīng)基礎(chǔ)上,研發(fā)的投入都是值得的。當(dāng)規(guī)模超過(guò)交叉點(diǎn)后自主研發(fā)才能收到較好的經(jīng)濟(jì)效果。實(shí)際上淘寶網(wǎng)的規(guī)模已經(jīng)遠(yuǎn)遠(yuǎn)超過(guò)了交叉點(diǎn)。 自主研發(fā)的系統(tǒng)可在軟件和硬件多個(gè)層次不斷的優(yōu)化。

  三、淘寶TFS的介紹

  1、 TFS 1.0版本

  從2006年開(kāi)始,淘寶網(wǎng)決定自己開(kāi)發(fā)一套針對(duì)海量小文件存儲(chǔ)難題的文件系統(tǒng),用于解決自身圖片存儲(chǔ)的難題。到2007年6月,TFS(淘寶文件系統(tǒng),Taobao File System)正式上線運(yùn)營(yíng)。在生產(chǎn)環(huán)境中應(yīng)用的集群規(guī)模達(dá)到了200臺(tái)PC Server(146G*6 SAS 15K Raid5),文件數(shù)量達(dá)到上億級(jí)別;系統(tǒng)部署存儲(chǔ)容量: 140 TB;實(shí)際使用存儲(chǔ)容量: 50 TB;單臺(tái)支持隨機(jī)IOPS 200+,流量3MBps。

談淘寶網(wǎng)升級(jí)圖片存儲(chǔ)服務(wù) 三聯(lián)

  圖為淘寶集群文件系統(tǒng)TFS 1.0第一版的邏輯架構(gòu):集群由一對(duì)Name Server和多臺(tái)Data Server構(gòu)成,Name Server的兩臺(tái)服務(wù)器互為雙機(jī),就是集群文件系統(tǒng)中管理節(jié)點(diǎn)的概念。

  每個(gè)Data Server運(yùn)行在一臺(tái)普通的Linux主機(jī)上 以block文件的形式存放數(shù)據(jù)文件(一般64M一個(gè)block) block存多份保證數(shù)據(jù)安全 利用ext3文件系統(tǒng)存放數(shù)據(jù)文件 磁盤(pán)raid5做數(shù)據(jù)冗余 文件名內(nèi)置元數(shù)據(jù)信息,用戶自己保存TFS文件名與實(shí)際文件的對(duì)照關(guān)系–使得元數(shù)據(jù)量特別小。

  TFS最大的特點(diǎn)就是將一部分元數(shù)據(jù)隱藏到圖片的保存文件名上,大大簡(jiǎn)化了元數(shù)據(jù),消除了管理節(jié)點(diǎn)對(duì)整體系統(tǒng)性能的制約,這一理念和目前業(yè)界流行的 “對(duì)象存儲(chǔ)”較為類(lèi)似。傳統(tǒng)的集群系統(tǒng)里面元數(shù)據(jù)只有1份,通常由管理節(jié)點(diǎn)來(lái)管理,因而很容易成為瓶頸。而對(duì)于淘寶網(wǎng)的用戶來(lái)說(shuō),圖片文件究竟用什么名字來(lái)保存實(shí)際上用戶并不關(guān)心,因此TFS在設(shè)計(jì)規(guī)劃上考慮在圖片的保存文件名上暗藏了一些元數(shù)據(jù)信息,例如圖片的大小、時(shí)間、訪問(wèn)頻次等等信息,包括所在的邏輯塊號(hào)。而在元數(shù)據(jù)上,實(shí)際上保存的信息很少,因此元數(shù)據(jù)結(jié)構(gòu)非常簡(jiǎn)單。僅僅只需要一個(gè)fileID,能夠準(zhǔn)確定位文件在什么地方。由于大量的文件信息都隱藏在文件名中,整個(gè)系統(tǒng)完全拋棄了傳統(tǒng)的目錄樹(shù)結(jié)構(gòu),因?yàn)槟夸洏?shù)開(kāi)銷(xiāo)最大。拿掉后,整個(gè)集群的高可擴(kuò)展性極大提高。

  2、 TFS 1.3版本

  到2009年6月,TFS 1.3版本上線,集群規(guī)模大大擴(kuò)展,部署到淘寶的圖片生產(chǎn)系統(tǒng)上,整個(gè)系統(tǒng)已經(jīng)從原有200臺(tái)PC服務(wù)器擴(kuò)增至440臺(tái)PC Server(300G*12 SAS 15K RPM) + 30臺(tái)PC Server (600G*12 SAS 15K RPM)。支持文件數(shù)量也擴(kuò)容至百億級(jí)別;系統(tǒng)部署存儲(chǔ)容量:1800TB(1.8PB);當(dāng)前實(shí)際存儲(chǔ)容量:995TB;單臺(tái)Data Server支持隨機(jī)IOPS 900+,流量15MB+;目前Name Server運(yùn)行的物理內(nèi)存是217MB(服務(wù)器使用千兆網(wǎng)卡)。

tfs-2