? ? ? 從文章中看到很多需要學(xué)習(xí)的知識(shí)袍榆,不僅僅包括數(shù)據(jù)庫(kù)、計(jì)算機(jī)網(wǎng)絡(luò)溉痢、操作系統(tǒng)僻造、數(shù)據(jù)結(jié)構(gòu)等基礎(chǔ)課程;還根據(jù)時(shí)代的技術(shù)變遷講述了當(dāng)時(shí)最新的編程技術(shù)及應(yīng)用孩饼,如數(shù)據(jù)挖掘髓削、Java\Oracle、搜索引擎分詞排序镀娶、分布式立膛、大數(shù)據(jù)GFS、海量文件處理等梯码,這些知識(shí)對(duì)我都非常有幫助宝泵;同時(shí)也根據(jù)淘寶網(wǎng)發(fā)展歷程不斷講述了它遇到的問(wèn)題及解決方法。從最初的通過(guò)購(gòu)買(mǎi)更高端的系統(tǒng)設(shè)備到最好的設(shè)備也不能滿(mǎn)足淘寶網(wǎng)海量數(shù)據(jù)尤其是圖片數(shù)據(jù)的存儲(chǔ)需求忍些,最后自己創(chuàng)造屬于自己的針對(duì)海量小文件存儲(chǔ)的文件系統(tǒng)鲁猩。? ? ? ? 很有價(jià)值又很好玩的一本書(shū),可以全面的了解淘寶的技術(shù)升級(jí)路線(xiàn)罢坝。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 從工程師的角度講述了淘寶的成長(zhǎng)歷程廓握,還有幾次技術(shù)變革的前因后果搅窿。
1.淘寶的技術(shù)升級(jí)
淘寶建立之初對(duì)外是以個(gè)人網(wǎng)站作宣傳,第一版一個(gè)月上線(xiàn)隙券,采用LAMP架構(gòu)男应。是修改了國(guó)外的一個(gè)拍賣(mài)系統(tǒng)源碼,主要對(duì)數(shù)據(jù)庫(kù)進(jìn)行分庫(kù)娱仔,讀寫(xiě)分離(存儲(chǔ)容量增加沐飘,備份,安全性增加牲迫,讀寫(xiě)效率提升—寫(xiě)要比讀更加消耗資源耐朴,分開(kāi)后互不干擾);
最初只有一臺(tái)服務(wù)器盹憎,隨著訪(fǎng)問(wèn)量的增加筛峭,將數(shù)據(jù)庫(kù)服務(wù)器獨(dú)立出來(lái),同時(shí)陪每,增加一臺(tái)Email服務(wù)器影晓;商品檢索功能最初的實(shí)現(xiàn)就是使用sql中的like搜索,對(duì)數(shù)據(jù)庫(kù)資源消耗嚴(yán)重檩禾,于是使用阿里巴巴的iSearch模塊替換like方式挂签;
2003 年底,MySQL升級(jí)盼产,采用 Oracle進(jìn)行技術(shù)替代饵婆,Oracle的性能和并發(fā)訪(fǎng)問(wèn)能力
強(qiáng)大,關(guān)鍵性的設(shè)計(jì)——連接池戏售;
2004 年上半年啦辐,淘寶決定更換開(kāi)發(fā)語(yǔ)言,將PHP更改為JAVA蜈项,特意請(qǐng)來(lái)SUN公司的技術(shù)人員芹关,開(kāi)始采用EJB系統(tǒng),打造了一個(gè)阿里巴巴的MVC框架WebX紧卒,易于擴(kuò)展侥衬,方
便組件化開(kāi)發(fā),它的頁(yè)面模板支持JSP和Velocity等跑芳,持久層支持ibatis和hibernate等轴总,控制層可以用EJB和Spring(Spring是后來(lái)才有的) ;
在接下來(lái)的幾年博个,圍繞著提高容量怀樟、提高性能、節(jié)約成本盆佣,淘寶逐漸完成了對(duì)數(shù)據(jù)分庫(kù)往堡、放棄EJB械荷、引入Spring、加入緩存虑灰、加入CDN等工作吨瞎。并且開(kāi)始創(chuàng)造自己的技術(shù);
07年之前穆咐,圖片存儲(chǔ)使用的是NetAPP的文件存儲(chǔ)系統(tǒng)颤诀,但未對(duì)小文件存儲(chǔ)進(jìn)行有針對(duì)的優(yōu)化 ,且擴(kuò)容成本高昂对湃,網(wǎng)絡(luò)連接數(shù)經(jīng)常達(dá)到極限崖叫;在這種背景下,淘寶研發(fā)了TFS(淘寶文件系統(tǒng))拍柒;TFS文件系統(tǒng)在核心設(shè)計(jì)上改變归露,傳統(tǒng)的集群系統(tǒng)中元數(shù)據(jù)只有1份,由管理節(jié)點(diǎn)容易成為瓶頸斤儿。TFS在設(shè)計(jì)規(guī)劃上考慮在圖片的保存文件名上賦予一些元數(shù)據(jù)信息,實(shí)際的元數(shù)據(jù)上恐锦,保存的信息很少往果,元數(shù)據(jù)結(jié)構(gòu)非常簡(jiǎn)單。整個(gè)系統(tǒng)完全拋棄了傳統(tǒng)的目錄樹(shù)結(jié)構(gòu)一铅。2007年6月陕贮,TFS正式上線(xiàn)運(yùn)營(yíng)。