淘寶系統(tǒng)架構(gòu)概述_第1頁
淘寶系統(tǒng)架構(gòu)概述_第2頁
淘寶系統(tǒng)架構(gòu)概述_第3頁
淘寶系統(tǒng)架構(gòu)概述_第4頁
淘寶系統(tǒng)架構(gòu)概述_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、淘寶系統(tǒng)架構(gòu)概述 了解什么是架構(gòu) 了解Alibaba網(wǎng)站架構(gòu)的歷史 掌握Alibaba網(wǎng)站架構(gòu)的現(xiàn)狀 掌握網(wǎng)站架構(gòu)設(shè)計(jì)的理念課程目標(biāo)和內(nèi)容課程目標(biāo)和內(nèi)容 架構(gòu)規(guī)定了軟件的高層劃分及各部分間的交互 架構(gòu)不是軟件,但架構(gòu)決策體現(xiàn)于軟件平臺(tái)和框架之中 架構(gòu)的優(yōu)劣決定了業(yè)務(wù)應(yīng)用系統(tǒng)的實(shí)施能力和發(fā)展空間 技術(shù)搭臺(tái),業(yè)務(wù)唱戲 架構(gòu)搭臺(tái),應(yīng)用唱戲 架構(gòu)永遠(yuǎn)在隨著業(yè)務(wù)的發(fā)展而變遷 擁抱變化!什么是架構(gòu)?什么是架構(gòu)?架構(gòu)變遷架架構(gòu)構(gòu)升升級(jí)級(jí)更多用戶更多數(shù)據(jù)更多功能硬件成本人力成本質(zhì)量成本提高提高收益收益節(jié)約節(jié)約成本成本業(yè)務(wù)發(fā)展B2BB2B架構(gòu)演化過程架構(gòu)演化過程1999史前2001石器時(shí)代2002中世紀(jì)2005

2、工業(yè)革命未來星際時(shí)代?PerlWebMacropojojdbcVelocityEjbWebXSpringSOAOPEN API云計(jì)算 Perl,CGI Mysql Apache 服務(wù)器在美國,56KModem,遠(yuǎn)程開發(fā)、測(cè)試、部署1999-1999-史前時(shí)代史前時(shí)代 Java服務(wù)器使用線程性能比cgi技術(shù)使用進(jìn)程好 Java相比Perl,可維護(hù)性好,開發(fā)效率高 Java開始在國內(nèi)流行史前史前- -石器時(shí)代原因石器時(shí)代原因 開始使用Java 模板技術(shù)采用WebMacro 中間層采用Servlet技術(shù),使用POJO封裝業(yè)務(wù)邏輯和數(shù)據(jù)訪問 使用BizObj對(duì)象封裝基本業(yè)務(wù)邏輯和數(shù)據(jù)訪問方法 其它業(yè)務(wù)

3、對(duì)象繼承BizObj方法,實(shí)現(xiàn)自己的業(yè)務(wù)邏輯和數(shù)據(jù)訪問方法 使用JDBC訪問數(shù)據(jù)庫 Servlet容器使用resin,Web服務(wù)器使用Apache20012001底底- -石器時(shí)代石器時(shí)代-www-www系統(tǒng)系統(tǒng)20012001底底- -石器時(shí)代石器時(shí)代( (續(xù)續(xù)) )基于POJO的biz層基于WebMacro的模板技術(shù)表現(xiàn)層業(yè)務(wù)層BizObj業(yè)務(wù)邏輯方法數(shù)據(jù)訪問方法OfferObj業(yè)務(wù)邏輯方法數(shù)據(jù)訪問方法MemberObj業(yè)務(wù)邏輯方法數(shù)據(jù)訪問方法CompanyObj業(yè)務(wù)邏輯方法數(shù)據(jù)訪問方法基于pojo的Biz層Oracle數(shù)據(jù)庫LDAP數(shù)據(jù)存儲(chǔ) 表現(xiàn)層僅僅使用模板技術(shù),缺乏MVC框架,導(dǎo)致大

4、量的servlet配置 業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層耦合,可維護(hù)性和可擴(kuò)展性差 受到EJB風(fēng)潮的影響石器時(shí)代石器時(shí)代- -中世紀(jì)原因中世紀(jì)原因 表現(xiàn)層采用WebX 模板技術(shù)Velocity 在Turbine基礎(chǔ)上開發(fā)了自己的服務(wù)框架和一系列公共服務(wù) 通過一個(gè)delegate對(duì)象訪問業(yè)務(wù)邏輯層 業(yè)務(wù)邏輯層使用EJB(SLSB,CMP,DAO等) 通過一個(gè)faade對(duì)象供表現(xiàn)層delegate訪問 Faade對(duì)象訪問多個(gè)SLSB實(shí)現(xiàn)的controller對(duì)象實(shí)現(xiàn)業(yè)務(wù)邏輯 使用CMP實(shí)現(xiàn)單條記錄的增加和刪除 考慮性能,在CMP之外封裝DAO對(duì)象通過JDBC訪問數(shù)據(jù)庫 EJB服務(wù)器使用Weblogic We

5、b服務(wù)器使用Apache20022002底底- -中世紀(jì)中世紀(jì)20022002底底- -中世紀(jì)(續(xù))中世紀(jì)(續(xù))搜索引擎Oracle數(shù)據(jù)庫LDAP使用SLSB實(shí)現(xiàn)的業(yè)務(wù)邏輯對(duì)象Controlers基于Webx以及Service框架的Web層框架CMP進(jìn)行單條記錄的增加刪除,DAO對(duì)象查找表現(xiàn)層商業(yè)邏輯層數(shù)據(jù)訪問層數(shù)據(jù)存儲(chǔ)delegateFaade Turbine的發(fā)展緩慢 EJB配置復(fù)雜,可維護(hù)性差 重量級(jí)框架,業(yè)務(wù)侵入高 高度容器依賴,可測(cè)試性差 CMP性能差,導(dǎo)致DAO和CMP并存中世紀(jì)中世紀(jì)- -工業(yè)革命原因工業(yè)革命原因 表現(xiàn)層使用WebX和Service 框架 Velocity模板技術(shù)

6、 自有服務(wù)框架及多種公共服務(wù):Form Service,Template Service,Mail Service,Rundata Service,Upload Service等 通過command模式和biz層交互 無狀態(tài)Web應(yīng)用,基于cookie實(shí)現(xiàn)session,獲取線性擴(kuò)展性 業(yè)務(wù)邏輯層使用Alibaba Service框架,并且引入spring 框架 Spring容器和Alibaba Service框架無縫集成 AO,BO 使用分布式cache緩存對(duì)象 數(shù)據(jù)訪問層 透明的事務(wù)處理 引入Hibernate和iBatis,以iBatis為主2005-2005-工業(yè)革命工業(yè)革命2005-

7、2005-工業(yè)革命(續(xù))工業(yè)革命(續(xù))搜索引擎Oracle數(shù)據(jù)庫LDAP基于Spring以及Service框架的biz層框架基于Webx以及Service框架的Web層框架分布式Cache分布式Session基于Spring以及DAO設(shè)計(jì)模式的數(shù)據(jù)訪問框架表現(xiàn)層商業(yè)邏輯層數(shù)據(jù)訪問層數(shù)據(jù)存儲(chǔ) 數(shù)據(jù)庫成為瓶頸 - 分布式數(shù)據(jù)庫 應(yīng)用耦合嚴(yán)重 - SOA Pampas平臺(tái)演化還在繼續(xù)演化還在繼續(xù) 中文站會(huì)員數(shù)超過2000萬 中文站Offer已經(jīng)超過億 中文站每天的用戶PV已經(jīng)超過億 中文站每天新發(fā)Offer超過100萬 中文站每天重發(fā)Offer超過1500萬 國際站略少,但是增長(zhǎng)迅猛網(wǎng)站的現(xiàn)在網(wǎng)站的

8、現(xiàn)在中文站中文站/ /國際站應(yīng)用部署圖國際站應(yīng)用部署圖網(wǎng)站鏡像部署圖網(wǎng)站鏡像部署圖( (國際站國際站) )中供用戶網(wǎng)站運(yùn)營海外賣家Load Balance(F5, Alteon)ApacheJbossDatabaseSearch EngineApacheJbossApacheJbossApacheStatic ResourceCacheStorage用戶請(qǐng)求處理用戶請(qǐng)求處理 流量隨著用戶量而增加 業(yè)務(wù)的變更頻繁 用戶行為的收集 產(chǎn)品角色的細(xì)分及調(diào)整 7 X 24的高可用性互聯(lián)網(wǎng)的挑戰(zhàn)互聯(lián)網(wǎng)的挑戰(zhàn)流量激增流量激增處理用戶請(qǐng)求處理用戶請(qǐng)求應(yīng)對(duì)的挑戰(zhàn)應(yīng)對(duì)的挑戰(zhàn) 并發(fā)(垂直) 用戶數(shù)量的增加 使用資源

9、的增加 響應(yīng)(水平) 處理性能的維持業(yè)務(wù)變更業(yè)務(wù)變更專業(yè)化細(xì)分之前專業(yè)化細(xì)分之前專業(yè)化細(xì)分之后專業(yè)化細(xì)分之后數(shù)據(jù)挖掘數(shù)據(jù)挖掘行為數(shù)據(jù)的采集追蹤埋點(diǎn)異步收集采集數(shù)據(jù)的分析數(shù)據(jù)倉庫分析引擎運(yùn)營團(tuán)隊(duì)決策風(fēng)險(xiǎn)行為的控制CTU系統(tǒng)安全團(tuán)隊(duì)網(wǎng)站產(chǎn)品的生命周期網(wǎng)站產(chǎn)品的生命周期團(tuán)隊(duì)再細(xì)分團(tuán)隊(duì)再細(xì)分角色專業(yè)化細(xì)分角色專業(yè)化細(xì)分避免宕機(jī)集群化服務(wù)化備份切換維護(hù)時(shí)間有限新產(chǎn)品發(fā)布在線發(fā)布疊加式發(fā)布用戶透明過渡高可用性高可用性 架構(gòu)是平衡的藝術(shù) 不要把簡(jiǎn)單問題復(fù)雜化,也不要把復(fù)雜問題簡(jiǎn)單化 系統(tǒng)架構(gòu)需要考慮哪些業(yè)務(wù)要求和質(zhì)量指標(biāo)? 怎樣取得平衡? 分解復(fù)雜度分解復(fù)雜度 自上而下,分離關(guān)注點(diǎn)(總體系統(tǒng)局部) 分配復(fù)雜

10、度分配復(fù)雜度 用合適的技術(shù)、合適的組織來解決問題架構(gòu)設(shè)計(jì)理念架構(gòu)設(shè)計(jì)理念更多用戶更多數(shù)據(jù)更多功能更少硬件更少人力更少故障質(zhì)量指標(biāo)質(zhì)量指標(biāo)可用性安全性性能穩(wěn)定性可維護(hù)性架構(gòu)的考慮要點(diǎn)架構(gòu)的考慮要點(diǎn)架構(gòu)考慮的方向架構(gòu)考慮的方向總體架構(gòu) 分解:按不同的業(yè)務(wù)領(lǐng)域、用戶群來分解 分配:將業(yè)務(wù)需求分配到各個(gè) 系統(tǒng)/服務(wù)可獨(dú)立部署和維護(hù),它們之間多采用分布式交互業(yè)務(wù)劃分業(yè)務(wù)劃分( (總體架構(gòu)總體架構(gòu)) )業(yè)務(wù)劃分業(yè)務(wù)劃分( (總體架構(gòu)總體架構(gòu)) )系統(tǒng)架構(gòu)系統(tǒng)架構(gòu)系統(tǒng)架構(gòu) 分解:按不同的技術(shù)層次來分解 分配:將技術(shù)需求分配到各個(gè) 容器/框架通過特定的技術(shù)模式來透明或半透明地解決技術(shù)問題系統(tǒng)細(xì)分系統(tǒng)細(xì)分應(yīng)用優(yōu)化應(yīng)用優(yōu)化局部調(diào)優(yōu)(數(shù)據(jù)存取)分解:按數(shù)據(jù)的位置、讀寫、計(jì)算特性等分解分配:將數(shù)據(jù)分配到

溫馨提示

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

評(píng)論

0/150

提交評(píng)論