《淘寶技術這十年》讀后感匯報_第1頁
《淘寶技術這十年》讀后感匯報_第2頁
《淘寶技術這十年》讀后感匯報_第3頁
《淘寶技術這十年》讀后感匯報_第4頁
《淘寶技術這十年》讀后感匯報_第5頁
已閱讀5頁,還剩27頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

《淘寶技術這十年》讀后感匯報2014年9月一、概要介紹本書圍繞著網站業務和系統架構之間的關系,講述了淘寶十年的技術演進歷程。1、技術篇淘寶技術的發展歷程(第1章—第5章)本書核心,包含了淘寶2003-2012年技術架構、業務發展的主體內容。2、歷程篇筆者自身的經歷(第6章)

作者在淘寶的八年主要工作歷程。3、人物篇淘寶技術專家的故事(第7章)通過技術專家的訪談的方式,講述了淘寶8位技術專家的故事。整體包括三部分內容:一、概要介紹——技術架構版本演進V1.02003.05—2004.01LAMPMYSQL讀寫分離V1.12004.01—2004.05MYSQL遷移至OracleSQLRelay中間件V2.02004.02—2005.03PHP遷移至JavaMVC框架WebX搜索引擎iSearchV2.12004.10—2007.01支持分庫的數據訪問框架擯棄EJB引入Spring建立緩存建立CDNV2.22006.10—2007.12分布式存儲TFS分布式緩存TairV3.02008.10—至今服務化、中間件Session框架開放平臺分布式電子商務操作系統二、淘寶技術的發展歷程——V1.0個人網站時期2003.05-2004.01(淘寶V1.0)1、快速搭建的網站2003年4月7日-5月10日,一個月上線。當時應用需求:起步階段、較低成本、支持擴展和二次開發。2、快速搭建的網站采用架構:LAMP(Linux+Apache+MySQL+PHP),包括Linux操作系統、ApacheHTTP服務器,MySQL數據庫軟件)和PHP超文本預處理器做Web應用開發。LAMP架構特點:相互支持效果好,發布速度快,技術開源免費。技術改造:對MySQL數據庫進行了拆分,由一個數據庫拆成它拆分成一個主庫、兩個從庫,并且讀寫分離,存儲容量增加了,有了備份,使得安全性增加了,讀寫分離使得讀寫效率得以提升。二、淘寶技術的發展歷程——V1.0用作者的話說,淘寶是一個買來的網站:淘寶是在2003年5月10日上線的,2003年4月7日到5月10日,這之間只有一個月時間。淘寶采用的方式是——“買一個來”。思考和心得最佳實踐、反編譯的快速高效,能夠解決很多實際的生產問題:資管系統流程管理:學習福建,WLAN熱點拓撲立體樓宇虛擬化展現,學習陜西,從能耗管理平臺中自動同步動環資源數據;代維管理系統的挑刺行動中對停電、發電調度流程進行了反編譯:學習安徽,利用資管系統中擴展續航時長、路途時長、優先級三個字段,有EOMS自動生成發電工單),可以很好地提升管理和生產效率。后續將繼續發揚并擴展反編譯的范圍,從已有需求的實現、問題的改進,到新技術、新成果的引入,通過“反編譯”快速提升生產支撐效率。二、淘寶技術的發展歷程——V1.1個人網站升級2004.01-2004.05(淘寶V1.1)1、數據庫由MySQL換成Oracle背景:MySQL當時是V4版本,存儲引擎在寫數據的時候會把表鎖住,隨著業務量的增加,處理能力無法滿足需求。技術改進:換成了性能并發能力強大的Oracle數據庫,通過開源的SQLRelay連接池代理服務與數據庫連接。2、采用SAN磁盤陣列存儲擴展一階段:數據量變大后,本地存儲無法滿足時,采用NAS(NetworkAttachedStorage,網絡附屬存儲)作為數據庫的存儲設備,加上OracleRAC(RealApplicationClusters,實時應用集群)來實現負載均衡。擴展二階段:由于NAS的網絡傳輸的延遲很嚴重,換成了Dell和EMC合作的SAN磁盤陣列進行存儲,為提升RAC的效率,服務器換成了小型機,性能提升了十幾倍。二、淘寶技術的發展歷程——V1.11、開創之初,做好推廣運作、廣告宣傳,帶來的就是迅速上漲的流量和交易量。思考和心得網管支撐在新系統上線、版本升級的時候,做好宣傳是關鍵(通過論壇、微信、飛信等多種平臺),避免“熱建冷用”是核心,要徹底解決“不知道、不會用、不好用”的問題,才能取得更好的推廣效果。2、淘寶打敗易趣,第一招是免費、第二招就是“安全支付”(支付寶)、而淘寶的第三招就是“淘寶旺旺”IM即時通訊。思考和心得便捷溝通才是關鍵,系統的不斷改進,需要應用人員能夠有快捷的問題和需求的反饋方式,網管的客服是關鍵。正在考慮通過微信的方式建立網管客服平臺,提升溝通的便捷性。二、淘寶技術的發展歷程——V2.0-2.1企業級Java網站2004.01-2004.05(淘寶V2.0-2.1)1、開發語言由PHP換成Java(脫胎換骨的升級)背景:SQLRelay代理服務經常會死鎖,只能通過重啟服務,為了徹底解決這個問題,只有換開發語言。技術選擇:Java是當時最成熟的網站開發語言,Java具有良好的企業開發框架,主流的大規模網站普遍采用,后續維護成本低。實施方案:請SUN工程師進行架構改造,為了保證穩定性,通過模塊化的方式進行遷移,成熟一個替換一個。二、淘寶技術的發展歷程——V2.0-2.1企業級Java網站2004.01-2004.05(淘寶V2.0-2.1)2、采用JavaMVC的框架技術架構簡介:JavaMVC:模型model、視圖view、控制器controller,其中Model負責在數據庫中存取數據,視圖負責顯示數據,控制器負責從視圖讀取數據,控制用戶輸入,并向模型發送數據,來進行業務邏輯、數據、界面顯示的代碼開發。技術改造:基于MVC框架建立了WebX(在阿里巴巴集團內部廣泛使用的,層次化、模塊化的一個Web框架),易于擴展,方便組件化開發??刂茖蛹夹g:先使用了通用的EJB(EnterpriseJavaBean),具有分布式、可擴展、安全性高的特點。搜索引擎:采用isearch技術把數據庫里的數據dump(傾倒)成結構化文本文件后,放在硬盤上,提供Web應用以約定的參數和語法來查詢這些數據。基礎平臺:使用了IOE組合配置(IBM小型機+Oracle數據庫+EMC存儲)。并對Oracle數據庫進行了分庫分表、容災備份的基礎上,自主開發了DBRoute數據庫路由框架,統一處理了數據的合并、排序、分頁等操作,讓程序員像使用一個數據庫一樣操作多個數據庫里的數據。二、淘寶技術的發展歷程——V2.0-2.1企業級Java網站2004.01-2004.05(淘寶V2.0-2.1)3、緩存和CDN(內容分發網絡)網絡技術背景:2005年,商品數量快速增至1663萬個,注冊會員1390萬個,需要快速提升系統的性能,提高用戶訪問效率。技術選擇:在搜索引擎、分庫分表的基礎上使用了緩存和CDN內容分發網絡技術。首先,將緩用戶經常訪問的、影響訪問速度的商品詳情信息放到緩存里,提升頁面瀏覽效率。針對高速增長的訪問量,在全國部署了80多個CDN節點(2004年10月—2007年1月),通過分布式的緩存技術,將訪問請求指向離用戶最近的服務節點上,大幅提升了用戶訪問速度。二、淘寶技術的發展歷程——V2.0-2.1淘寶的用戶訪問、頁面訪問分析是架構演進的一個重要的依據。思考和心得“網管的網管”應用效果評估同樣是推動網管系統建設的一個重要的參考,是網管系統架構演進的一個重要的依據;用得好的功能、使用頻次高的功能,需要對應用性能重點進行保障,包括軟件優化、硬件擴容,對于用的不好功能下線處理,“反復抓、抓反復”,通過架構的不斷優化調整,提升軟硬件資源的利用率和支撐效果。二、淘寶技術的發展歷程——V2.2創造技術2006.10-2007.12(淘寶V2.0-2.1)1、淘寶分布式文件存儲系統(TFSTaoBaoFileSystem)背景:為了提升交易的便捷性,2006年下半年在業務上將商品和交易拆開管理,買家需要“有圖有真相”,所有的商品交易都記錄下了快照信息(2010年保存了286億個圖片文件),導致存儲成本大幅上升,現有NetApp網絡存儲平臺不能滿足日益增長的存儲要求。技術創造:為了解決存儲難題,從2006年開始,淘寶決定自己開發一套針對海量小文件存儲的文件系統,用于解決自身圖片存儲的難題。淘寶建立了適合自身使用TFS的分布式存儲系統(TaoBaoFileSystem,TFS)。二、淘寶技術的發展歷程——V2.2創造技術2006.10-2007.12(淘寶V2.0-2.1)1、淘寶分布式文件存儲系統(TFSTaoBaoFileSystem)技術特點:淘寶TFS文件系統在核心設計上最大的取巧在于,采用“對象存儲”(數據和數據屬性的綜合體)的方式,突破了數據管理的瓶頸。每個DataServer運行在一臺普通的Linux主機上;以Block文件的形式存放數據文件(一個Block的大小一般為64MB);利用ext4(Fourthextendedfilesystem日志式文件系統)存放數據文件;進程管理磁盤;HA(高可用性HighAvailability)機制的中央控制節點,在安全穩定和性能復雜度之間取得平衡;文件名內置元數據信息,將更多的元數據加載入內存,提升訪問速度;分布式存儲系統:文件比較?。徊l量高;讀操作遠大于寫操作;訪問隨機;沒有文件修改的操作;要求存儲成本低;能容災,能備份。二、淘寶技術的發展歷程——V2.2創造技術2006.10-2007.12(淘寶V2.0-2.1)1、淘寶分布式文件存儲系統(TFSTaoBaoFileSystem)2007年6月,TFS正式上線運營。這標志著淘寶網從使用技術到了創造技術的階段。應用規模:在生產環境中應用的集群規模達到了440臺PC服務器。支持文件數量也擴容至百億級別;系統部署存儲容量為1800TB;當前實際存儲容量為995TB;單臺DataServer支持隨機IOPS(Input/OutputOperationPerSecond每秒讀寫操作的次數)900+,流量為15MB+。二、淘寶技術的發展歷程——V2.2創造技術2006.10-2007.12(淘寶V2.0-2.1)2、

淘寶分布式緩存方案(Tair)背景:在“招財進寶”項目(淘寶針對賣家按成交量進行付費的項目)中,添加了商品瀏覽次數字段,由于需要實時更新,而交易量巨大,在數據庫直接更新數據會宕掉,為了解決庫網頁異步快速動態更新的問題,需要建立緩存系統。前傳1:首先,自主研發了名稱TBstore的緩存系統(一個分布式的基于開源的BerkeleyDB的緩存系統),缺點是在數據量超過內存的時候,開始將數據寫到磁盤上,緩存的性能會大幅下降。前傳2:2007年,淘寶將用戶信息獨立出來,建立了一個UIC(UserInformationCenter)用戶信息中心,用戶信息是所有功能都要依賴的信息,調用頻次很高(每天要取幾十億條的用戶信息)。如果直接查詢數據庫,會導致數據庫崩潰,需要建立緩存系統。建立了TDBM(淘寶數據庫緩存系統)系統,拋棄了BerkeleyDB的持久功能,數據全部存放在內存中。在內存利用率和吞吐量方面得到了大幅提升。二、淘寶技術的發展歷程——V2.2創造技術2006.10-2007.12(淘寶V2.0-2.1)2、

淘寶分布式緩存方案(Tair)建立Tair:由于TDBM、TBstore的數據接口和用途都很相似,開發團隊把二者合并,推出了淘寶自創的Key-Value緩存系統——Tair(TaoBaoPair,基于Key-Value數據對),Tair包括緩存和持久化兩種存儲功能。技術特點:Tair作為一個分布式系統,由一個中心控制節點和一系列的服務節點組成。中心控制節點為ConfigServer,服務節點是DataServer。ConfigServer負責管理所有的DataServer,維護DataServer的狀態信息。DataServer對外提供各種數據服務,并以心跳的形式將自身的狀況匯報給ConfigServer。ConfigServer是控制點,采用一主一備的形式來保證其可靠性。二、淘寶技術的發展歷程——V2.2創造技術2006.10-2007.12(淘寶V2.0-2.1)2、

淘寶分布式緩存方案(Tair)應用效果:Tair支撐了淘寶幾乎所有系統的緩存信息。之前的搜索引擎是把數據分到多臺機器上,但是每份數據只有一份,現在是每份數據變成多份,整個系統從一個單行的部署變成了矩陣,支撐更大的訪問量,并且做到了很高的可用性。到2007年,淘寶網日均PV達到2.5億個,商品數超過1億個,注冊會員數達5千多萬個,全網成交額達433億元。二、淘寶技術的發展歷程——V2.2技術和業務就是這么互相借力推動著的,業務滿足不了的時候,技術必須創新,技術創新之后,業務有了更大的發展空間。思考和心得隨著網絡規模的擴大和網絡技術的發展,系統支撐工作必須同步創新、并適當提前做好準備,才能在實際應用中更好滿足網絡生產需要。

做好微創新,一個微創新提升一項工作效率,“不積跬步,無以至千里”,長效的微創新能夠改變生產維護的方式,形成真正的生產力。二、淘寶技術的發展歷程——V3.0分布式電子商務操作系統2008.01-至今

(淘寶V3.0)1、服務化背景:業務發展速度快速增長,但在技術架構的制約下,團隊協作越來越艱難,代碼越來越臃腫,開發效率越來越低,新業務需求越來越多,架構亟需調整。服務拆分:2008年初,Oracle的連接池數量都不夠用了,數據庫的容量到了極限,即使上層系統加機器也無法繼續擴容,只有把底層的基礎服務繼續拆分,從底層開始擴容,上層才能擴展,這才能容納以后三五年的增長。業務拆分:把交易這個核心業務模塊拆分出來。交易中心(TradeCenter,TC),所謂底層業務,就如創建訂單、減庫存、修改訂單狀態等原子型的操作;交易的上層業務叫交易管理(TradeManager,TM),這個時候還有一個淘寶商城的項目在做,拆分出來的那些基礎服務給商城的快速構建提供了良好的基礎。二、淘寶技術的發展歷程——V3.0分布式電子商務操作系統2008.01-至今

(淘寶V3.0)1、服務化業務模塊化:到2008年年底就做了一個更大的項目,把淘寶所有的業務都模塊化,這是繼2004年從LAMP架構到Java架構之后的第二次脫胎換骨。拆分的業務架構包括TC、IC、SC分別是交易中心(TradeCenter)、商品中心(ItemCenter)、店鋪中心(ShopCenter),這些中心級別的服務只提供原子級的業務邏輯,如根據ID查找商品、創建交易、減少庫存等操作。再往上一層是業務系統TM(TradeManager,交易業務)、IM(ItemManager,商品業務)、SM(ShopManager,后來改名叫SS,即ShopSystem,店鋪業務)、Detail(商品詳情)。應用效果:系統這么拆分的好處顯而易見。拆分之后的每個系統可以單獨部署,業務簡單,方便擴容;有大量可重用的模塊便于開發新的業務;能夠做到專人專事,讓技術人員更加專注于某一個領域。二、淘寶技術的發展歷程——V3.0分布式電子商務操作系統2008.01-至今

(淘寶V3.0)2、中間件背景:模塊拆分之后,系統之間還是必須要打交道的,越往底層的系統,調用它的應用越多,需要解決拆分之后的系統通信問題,同時要求底層的系統必須具有超大規模的容量和非常高的可用性。建立中間件系統:對此,淘寶增加了2個中間件系統。一種是實時調用的中間件(淘寶的HSF,high-speedserviceframework高性能服務框架),一種是異步消息通知的中間件(淘寶的Notify),以及淘寶數據查詢中間件TDDL。二、淘寶技術的發展歷程——V3.0分布式電子商務操作系統2008.01-至今

(淘寶V3.0)2、中間件(一)HSF淘寶服務框架(high-speedserviceframework):應用之間以sevice的方式進行交互。服務的提供者啟動時通過HSF框架向ConfigServer注冊服務信息(接口、版本、超時時間、序列化方式等),這樣ConfigServer上面就定義了所有可供調用的服務。服務調用者啟動的時候向ConfigServer注冊對哪些服務感興趣(接口、版本),當服務提供者的信息變化時,ConfigServer向相應的感興趣的服務調用者推送新的服務信息列表;調用者在調用時則根據服務信息的列表直接訪問相應的服務提供者,而無須經過ConfigServer。ConfigServer并不會把服務提供者的IP地址推送給服務的調用者,HSF框架會根據負載狀況來選擇具體的服務器,返回結果給調用者,這不僅統一了服務調用的方式,也實現了“軟負載均衡”。二、淘寶技術的發展歷程——V3.0分布式電子商務操作系統2008.01-至今

(淘寶V3.0)2、中間件(二)Notify分布式消息中間件系統:用戶的一次請求,在底層系統可能產生10次的消息通知。這些消息通知需要一個強大的系統提供支持,淘寶建立了Notify分布式消息中間件系統。NotifyServer在ConfigServer上面注冊消息服務,消息的客戶端通過ConfigServer訂閱消息服務;某個客戶端調用NotifyServer發送一條消息,NotifyServer負責把消息發送到所有訂閱這個消息的客戶端,為了保證消息一定能發出,且對方也一定能收到,消息數據本身就需要記錄下來,這些信息存放在數據庫中。NotifyServer可以水平擴展,NotifyClient也可以水平擴展,數據庫也可以水平擴展,因此,這個消息系統的吞吐量是沒有上限的,現在Notify系統每天承載了淘寶10億次以上的消息通知。二、淘寶技術的發展歷程——V3.0分布式電子商務操作系統2008.01-至今

(淘寶V3.0)2、中間件(三)數據查詢中間件TDDL(taobaodistributeddatalayer淘寶分布式數據訪問層):有了HSF和Notify的支持,還有一個制約系統規模的更重要的因素,就是數據庫,也必須拆分。數據庫拆分之后,需要大幅提升數據查詢速度,淘寶建立了TDDL數據查詢中間件。查詢基礎上,包括數據的備份、復制、主備切換等功能,這一套系統都在TDDL中完成;數據訪問路由,將針對數據的讀寫請求發送到最合適的地方。一次寫入,多點讀取。數據存儲的自由擴展,不再受限于單臺機器的容量瓶頸與速度瓶頸,平滑遷移。TDDL在建成后的4年時間里,滿足了近700個業務應用的使用需求。二、淘寶技術的發展歷程——V3.0分布式電子商務操作系統2008.01-至今

(淘寶V3.0)3、Session框架(客戶端與服務系統之間交互架構)背景:為了解決上億個訪問用戶的Session信息存儲、檢索管理和集群Session共享的問題,淘寶建立了自己Tbsession框架。處理過程:用戶向服務器發送第一個請求時,服務器為其建立一個Session,并為此Session創建一個標識,用戶隨后的所有請求都應包括這個標識號。服務器會校對這個標識號以判斷請求屬于哪個Session。會話保持有效,默認狀況下,直到瀏覽器關閉,會話才結束。技術特點:Session中存儲的內容包括昵稱、用戶ID、登錄狀態等用戶信息,采用了集中式緩存區的Session方式,實現服務端存儲,減少Cookie使用,增強用戶信息的安全性,避免瀏覽器對Cookie數量和大小的限制,支持動態更新,Session的配置動態更新。二、淘寶技術的發展歷程——V3.0分布式電子商務操作系統2008.01-至今

(淘寶V3.0)4、開放平臺淘寶進入3.0時代:至此,通過高性能服務框架(HSF)、分布式數據層(TDDL)、消息中間件(Notify)和Session框架支持了架構改造的切分。應用服務切分了(TM交易中心、IM交易管理)、核心服務切分了(TC交易中心、IC商品中心)、基礎服務切分了(UIC用戶信息中心、Forest商品類目屬性)、數據存儲切分了(DB、TFS、Tair)。一個美好的時代到來了,高度穩定、可擴展、低成本、快速迭代、產品化管理,淘寶的3.0系統走上了歷史的舞臺。業務推動平臺開放:淘寶已經變成了包含C2C、B2C、導購、團購、社區等各種電子商務相關的業務的一個生態體系,既然說是一種“生態體系”,那就不能把所有的業務把控在自己的手中,需要把數據、應用通過接口的方式進行開放,讓更多的開發者ISV(IndependentSoftwareVendors獨立軟件開發商)調用,他們可以開發出形形色色的產品。二、淘寶技術的發展歷程——V3.0分布式電子商務操作系統2008.01-至今

(淘寶V3.0)4、開放平臺2007年:萌芽。SOA盛行的年代,內部架構服務化成為開放的第一步,內部服務不做好隔離,開放就意味著風險不可控。建立了支付寶服務框架SOFA(service-orientedframeworkarchitecture面向服務框架)、淘寶的HSF(高性能服務框架)、阿里軟件的ASF(advancedserviceframeworkSCA面向服務應用組件架構)。為開放平臺奠定了基礎。2008年:雛形。增加了服務路由,外部調用可以快速獲取內部信息。服務接口標準化,統一方式的獲得各種標準化信息。授權,使外部合法的獲取內部信息。開始正式對外應用,日均調用1000次。二、淘寶技術的發展歷程——V3.0分布式電子商務操作系統2008.01-至今

(淘寶V3.0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論