




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
系統架構概述Yes,WeKAO更強,更高,更持久系統架構概述Yes,WeKAO1了解什么是架構了解Alibaba網站架構的歷史掌握Alibaba網站架構的現狀掌握網站架構設計的理念課程目標和內容了解什么是架構課程目標和內容2架構規定了軟件的高層劃分及各部分間的交互架構不是軟件,但架構決策體現于軟件平臺和框架之中架構的優劣決定了業務應用系統的實施能力和發展空間技術搭臺,業務唱戲架構搭臺,應用唱戲架構永遠在隨著業務的發展而變遷–擁抱變化!什么是架構?架構變遷架構升級更多用戶更多數據更多功能硬件成本人力成本質量成本提高收益節約成本業務發展架構規定了軟件的高層劃分及各部分間的交互什么是架構?架構變遷3B2B架構演化過程1999史前2001石器時代2002中世紀2005工業革命未來星際時代?PerlWebMacropojojdbcVelocityEjbWebXSpringSOAOPENAPI云計算……B2B架構演化過程1999200120022005未來Per4Perl,CGI……MysqlApache服務器在美國,56KModem,遠程開發、測試、部署1999-史前時代Perl,CGI……1999-史前時代5Java服務器使用線程性能比cgi技術使用進程好Java相比Perl,可維護性好,開發效率高Java開始在國內流行史前-石器時代原因Java服務器使用線程性能比cgi技術使用進程好史前-石器時6開始使用Java模板技術采用WebMacro中間層采用Servlet技術,使用POJO封裝業務邏輯和數據訪問使用BizObj對象封裝基本業務邏輯和數據訪問方法其它業務對象繼承BizObj方法,實現自己的業務邏輯和數據訪問方法使用JDBC訪問數據庫Servlet容器使用resin,Web服務器使用Apache開始使用Java72001底-石器時代(續)基于POJO的biz層基于WebMacro的模板技術表現層業務層BizObj業務邏輯方法數據訪問方法OfferObj業務邏輯方法數據訪問方法MemberObj業務邏輯方法數據訪問方法CompanyObj業務邏輯方法數據訪問方法基于pojo的Biz層Oracle數據庫LDAP數據存儲2001底-石器時代(續)基于POJO的biz層基于WebM8表現層僅僅使用模板技術,缺乏MVC框架,導致大量的servlet配置業務邏輯層和數據訪問層耦合,可維護性和可擴展性差受到EJB風潮的影響石器時代-中世紀原因表現層僅僅使用模板技術,缺乏MVC框架,導致大量的servl9表現層采用WebX模板技術Velocity在Turbine基礎上開發了自己的服務框架和一系列公共服務通過一個delegate對象訪問業務邏輯層業務邏輯層使用EJB(SLSB,CMP,DAO等)通過一個fa?ade對象供表現層delegate訪問Fa?ade對象訪問多個SLSB實現的controller對象實現業務邏輯使用CMP實現單條記錄的增加和刪除考慮性能,在CMP之外封裝DAO對象通過JDBC訪問數據庫EJB服務器使用WeblogicWeb服務器使用Apache2002底-中世紀表現層采用WebX2002底-中世紀102002底-中世紀(續)搜索引擎Oracle數據庫LDAP使用SLSB實現的業務邏輯對象Controlers基于Webx以及Service框架的Web層框架CMP進行單條記錄的增加刪除,DAO對象查找表現層商業邏輯層數據訪問層數據存儲delegateFa?ade2002底-中世紀(續)搜索引擎Oracle數據庫LDAP使11Turbine的發展緩慢EJB配置復雜,可維護性差重量級框架,業務侵入高高度容器依賴,可測試性差CMP性能差,導致DAO和CMP并存中世紀-工業革命原因Turbine的發展緩慢中世紀-工業革命原因12表現層使用WebX和Service框架Velocity模板技術自有服務框架及多種公共服務:FormService,TemplateService,MailService,RundataService,UploadService等通過command模式和biz層交互無狀態Web應用,基于cookie實現session,獲取線性擴展性業務邏輯層使用AlibabaService框架,并且引入spring框架Spring容器和AlibabaService框架無縫集成AO,BO使用分布式cache緩存對象數據訪問層透明的事務處理引入Hibernate和iBatis,以iBatis為主2005-工業革命表現層使用WebX和Service框架2005-工業革命132005-工業革命(續)搜索引擎Oracle數據庫LDAP基于Spring以及Service框架的biz層框架基于Webx以及Service框架的Web層框架分布式Cache分布式Session基于Spring以及DAO設計模式的數據訪問框架表現層商業邏輯層數據訪問層數據存儲2005-工業革命(續)搜索引擎Oracle數據庫LDAP基14數據庫成為瓶頸->分布式數據庫應用耦合嚴重->SOAPampas平臺演化還在繼續…數據庫成為瓶頸->分布式數據庫演化還在繼續…15中文站會員數超過2000萬中文站Offer已經超過1.5億中文站每天的用戶PV已經超過1.6億中文站每天新發Offer超過100萬中文站每天重發Offer超過1500萬國際站略少,但是增長迅猛網站的現在中文站會員數超過2000萬網站的現在16中文站/國際站應用部署圖中文站/國際站應用部署圖17網站鏡像部署圖(國際站)中供用戶網站運營海外賣家網站鏡像部署圖(國際站)中供用戶網站運營海外賣家18LoadBalance(F5,Alteon)ApacheJbossDatabaseSearchEngineApacheJbossApacheJbossApacheStaticResourceCacheStorage用戶請求處理LoadBalanceApacheJbossDatabas19流量隨著用戶量而增加業務的變更頻繁用戶行為的收集產品角色的細分及調整7X24的高可用性互聯網的挑戰流量隨著用戶量而增加互聯網的挑戰20流量激增處理用戶請求RequestProcessResponseRequestProcessResponseRequestProcessResponse應對的挑戰并發(垂直)用戶數量的增加使用資源的增加響應(水平)處理性能的維持流量激增處理用戶請求RequestProcessRespon21業務變更專業化細分之前offerlistdetailmembercompanypersonaltransactionnosupport專業化細分之后offerClothingRetailLoanmemberTrustPassSpecialMarkettransactionalipaypaypal業務變更專業化細分之前offerlistdetailmemb22數據挖掘offerrepostnewofferbid行為數據的采集追蹤埋點異步收集采集數據的分析數據倉庫分析引擎運營團隊決策風險行為的控制CTU系統安全團隊數據挖掘offerrepostnewofferbid行23網站產品的生命周期產品需求整理架構團隊設計開發團隊實施質量團隊質檢運營團隊運作用戶需求分析團隊再細分用戶需求分析商業策劃市場策劃
產品需求分析產品設計網站運營架構團隊架構師開發團隊程序員項目經理用戶體驗質量團隊測試流程控制運營團隊產品運營客戶服務角色專業化細分網站產品的生命周期產品需求整理架構團隊設計開發團隊實施質量團24業務1業務2業務3避免宕機集群化服務化備份切換維護時間有限新產品發布在線發布疊加式發布用戶透明過渡高可用性業務1業務2業務3避免宕機高可用性25架構是平衡的藝術不要把簡單問題復雜化,也不要把復雜問題簡單化系統架構需要考慮哪些業務要求和質量指標?
怎樣取得平衡?分解復雜度–自上而下,分離關注點(總體系統局部)分配復雜度–用合適的技術、合適的組織來解決問題架構設計理念更多用戶更多數據更多功能更少硬件更少人力更少故障-質量指標-可用性安全性性能穩定性可維護性架構是平衡的藝術架構設計理念更多用戶更少硬件-質量指標-26分解業務應用數據合并聯動的業務高藕合的數據持續發展插件式擴展能力弱藕合,易于剝離局部可優化調整可測試穩定性高可用性負載均衡線性擴展可被監控架構的考慮要點分解業務應用數據合并聯動的業務高藕合的數據持續發展插件式擴展27業務劃分系統細分應用優化架構考慮的方向業務劃分系統細分應用優化架構考慮的方向28銷售后臺會員管理跟單管理財務管理運營后臺Offer審批會員審批類目運營數據采集分析網站前臺用戶登錄用戶前臺用戶后臺旺鋪、廣告社區、論壇合作部門搜索引擎阿里旺旺支付寶總體架構分解:按不同的業務領域、用戶群來分解業務復雜性分配:將業務需求分配到各個公司、部門、系統、服務系統/服務可獨立部署和維護,它們之間多采用分布式交互業務劃分(總體架構)銷售后臺會員管理跟單管理財務管理運營后臺Offer審批會員審29會員體系運營體系業務體系業務劃分(總體架構)會員體系運營體系業務體系業務劃分(總體架構)30系統架構表現層WebXVelocitySpringMVC業務邏輯層IOC(Spring)SOA(Pampus)EJB數據訪問層iBatisCMPJMS工具安全容錯管理監控日志Build系統架構分解:按不同的技術層次來分解技術復雜性分配:將技術需求分配到各個中間件、容器、框架、工具組件容器/框架通過特定的技術模式來透明或半透明地解決技術問題系統架構表現層WebXVelocitySpringMVC業31網站應用系統BOPS系統資源系統系統細分網站應用系統BOPS系統資源系統系統細分32應用優化存儲系統DACSANNAS搜索引擎全文索引目錄索引數據庫索引數據復制水平分割垂直分割Cache內容靜態化數據庫緩存對象緩存客戶端緩存局部調優(數據存取)分解:按數據的位置、讀寫、計算特性等分解數據存取復雜性分配:將數據分配到各個數據庫、索引庫、存儲系統、Cache不同的存儲技術適合于不同的數據存取需求應用優化存儲系統DACSANNAS搜索引擎全文索引目錄索引數33讀寫應用優化讀寫應用優化34總體架構考慮面向服務體系系統架構更加專業化、服務化的信息收集系統更加全面化、自動化的配置管理更加有效率的鏡像同步、切換局部應用優化分布式文件系統優化數據同步系統讀寫分離展望未來總體架構展望未來35架構隨著業務發展不斷演進架構發展要有方向有節奏總結架構隨著業務發展不斷演進總結36Q&AQ&A37系統架構概述Yes,WeKAO更強,更高,更持久系統架構概述Yes,WeKAO38了解什么是架構了解Alibaba網站架構的歷史掌握Alibaba網站架構的現狀掌握網站架構設計的理念課程目標和內容了解什么是架構課程目標和內容39架構規定了軟件的高層劃分及各部分間的交互架構不是軟件,但架構決策體現于軟件平臺和框架之中架構的優劣決定了業務應用系統的實施能力和發展空間技術搭臺,業務唱戲架構搭臺,應用唱戲架構永遠在隨著業務的發展而變遷–擁抱變化!什么是架構?架構變遷架構升級更多用戶更多數據更多功能硬件成本人力成本質量成本提高收益節約成本業務發展架構規定了軟件的高層劃分及各部分間的交互什么是架構?架構變遷40B2B架構演化過程1999史前2001石器時代2002中世紀2005工業革命未來星際時代?PerlWebMacropojojdbcVelocityEjbWebXSpringSOAOPENAPI云計算……B2B架構演化過程1999200120022005未來Per41Perl,CGI……MysqlApache服務器在美國,56KModem,遠程開發、測試、部署1999-史前時代Perl,CGI……1999-史前時代42Java服務器使用線程性能比cgi技術使用進程好Java相比Perl,可維護性好,開發效率高Java開始在國內流行史前-石器時代原因Java服務器使用線程性能比cgi技術使用進程好史前-石器時43開始使用Java模板技術采用WebMacro中間層采用Servlet技術,使用POJO封裝業務邏輯和數據訪問使用BizObj對象封裝基本業務邏輯和數據訪問方法其它業務對象繼承BizObj方法,實現自己的業務邏輯和數據訪問方法使用JDBC訪問數據庫Servlet容器使用resin,Web服務器使用Apache開始使用Java442001底-石器時代(續)基于POJO的biz層基于WebMacro的模板技術表現層業務層BizObj業務邏輯方法數據訪問方法OfferObj業務邏輯方法數據訪問方法MemberObj業務邏輯方法數據訪問方法CompanyObj業務邏輯方法數據訪問方法基于pojo的Biz層Oracle數據庫LDAP數據存儲2001底-石器時代(續)基于POJO的biz層基于WebM45表現層僅僅使用模板技術,缺乏MVC框架,導致大量的servlet配置業務邏輯層和數據訪問層耦合,可維護性和可擴展性差受到EJB風潮的影響石器時代-中世紀原因表現層僅僅使用模板技術,缺乏MVC框架,導致大量的servl46表現層采用WebX模板技術Velocity在Turbine基礎上開發了自己的服務框架和一系列公共服務通過一個delegate對象訪問業務邏輯層業務邏輯層使用EJB(SLSB,CMP,DAO等)通過一個fa?ade對象供表現層delegate訪問Fa?ade對象訪問多個SLSB實現的controller對象實現業務邏輯使用CMP實現單條記錄的增加和刪除考慮性能,在CMP之外封裝DAO對象通過JDBC訪問數據庫EJB服務器使用WeblogicWeb服務器使用Apache2002底-中世紀表現層采用WebX2002底-中世紀472002底-中世紀(續)搜索引擎Oracle數據庫LDAP使用SLSB實現的業務邏輯對象Controlers基于Webx以及Service框架的Web層框架CMP進行單條記錄的增加刪除,DAO對象查找表現層商業邏輯層數據訪問層數據存儲delegateFa?ade2002底-中世紀(續)搜索引擎Oracle數據庫LDAP使48Turbine的發展緩慢EJB配置復雜,可維護性差重量級框架,業務侵入高高度容器依賴,可測試性差CMP性能差,導致DAO和CMP并存中世紀-工業革命原因Turbine的發展緩慢中世紀-工業革命原因49表現層使用WebX和Service框架Velocity模板技術自有服務框架及多種公共服務:FormService,TemplateService,MailService,RundataService,UploadService等通過command模式和biz層交互無狀態Web應用,基于cookie實現session,獲取線性擴展性業務邏輯層使用AlibabaService框架,并且引入spring框架Spring容器和AlibabaService框架無縫集成AO,BO使用分布式cache緩存對象數據訪問層透明的事務處理引入Hibernate和iBatis,以iBatis為主2005-工業革命表現層使用WebX和Service框架2005-工業革命502005-工業革命(續)搜索引擎Oracle數據庫LDAP基于Spring以及Service框架的biz層框架基于Webx以及Service框架的Web層框架分布式Cache分布式Session基于Spring以及DAO設計模式的數據訪問框架表現層商業邏輯層數據訪問層數據存儲2005-工業革命(續)搜索引擎Oracle數據庫LDAP基51數據庫成為瓶頸->分布式數據庫應用耦合嚴重->SOAPampas平臺演化還在繼續…數據庫成為瓶頸->分布式數據庫演化還在繼續…52中文站會員數超過2000萬中文站Offer已經超過1.5億中文站每天的用戶PV已經超過1.6億中文站每天新發Offer超過100萬中文站每天重發Offer超過1500萬國際站略少,但是增長迅猛網站的現在中文站會員數超過2000萬網站的現在53中文站/國際站應用部署圖中文站/國際站應用部署圖54網站鏡像部署圖(國際站)中供用戶網站運營海外賣家網站鏡像部署圖(國際站)中供用戶網站運營海外賣家55LoadBalance(F5,Alteon)ApacheJbossDatabaseSearchEngineApacheJbossApacheJbossApacheStaticResourceCacheStorage用戶請求處理LoadBalanceApacheJbossDatabas56流量隨著用戶量而增加業務的變更頻繁用戶行為的收集產品角色的細分及調整7X24的高可用性互聯網的挑戰流量隨著用戶量而增加互聯網的挑戰57流量激增處理用戶請求RequestProcessResponseRequestProcessResponseRequestProcessResponse應對的挑戰并發(垂直)用戶數量的增加使用資源的增加響應(水平)處理性能的維持流量激增處理用戶請求RequestProcessRespon58業務變更專業化細分之前offerlistdetailmembercompanypersonaltransactionnosupport專業化細分之后offerClothingRetailLoanmemberTrustPassSpecialMarkettransactionalipaypaypal業務變更專業化細分之前offerlistdetailmemb59數據挖掘offerrepostnewofferbid行為數據的采集追蹤埋點異步收集采集數據的分析數據倉庫分析引擎運營團隊決策風險行為的控制CTU系統安全團隊數據挖掘offerrepostnewofferbid行60網站產品的生命周期產品需求整理架構團隊設計開發團隊實施質量團隊質檢運營團隊運作用戶需求分析團隊再細分用戶需求分析商業策劃市場策劃
產品需求分析產品設計網站運營架構團隊架構師開發團隊程序員項目經理用戶體驗質量團隊測試流程控制運營團隊產品運營客戶服務角色專業化細分網站產品的生命周期產品需求整理架構團隊設計開發團隊實施質量團61業務1業務2業務3避免宕機集群化服務化備份切換維護時間有限新產品發布在線發布疊加式發布用戶透明過渡高可用性業務1業務2業務3避免宕機高可用性62架構是平衡的藝術不要把簡單問題復雜化,也不要把復雜問題簡單化系統架構需要考慮哪些業務要求和質量指標?
怎樣取得平衡?分解復雜度–自上而下,分離關注點(總體系統局部)分配復雜度–用合適的技術、合適的組織來解決問題架構設計理念更多用戶更多數據更多功能更少硬件更少人力更少故障-質量指標-可用性安全性性能穩定性可維護性架構是平衡的藝術架構設計理念更多用戶更少硬件-質量指標-63分解業務應用數據合并聯動的業務高藕合的數據持續發展插件式擴展能力弱藕合,易于剝離局部可優化調整可測試穩定性高可用性負載均衡線性擴展可被監控架構的考慮要點分解業務應用數據合并聯動的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 社會連接與個人幸福感-洞察闡釋
- 基于聲波增強的智能家居語音交互系統-洞察闡釋
- 綠色園區的定義及發展趨勢
- 小學體育與健康跨學科教學策略及實施路徑
- 第一中學高中生物 生態系統的穩定性教學設計新人教版必修
- 2025至2030年中國物流配送管理軟件行業投資前景及策略咨詢報告
- 2025至2030年中國熱保險行業投資前景及策略咨詢報告
- 勞動力供需匹配下跨境電商教學改革探索
- 當前初中社會實踐跨學科教學面臨的挑戰與機遇
- 關于成立精細鐵粉公司可行性研究報告(參考模板)
- 我國服飾文化及地理環境關系研究報告
- 魚類學-鯔形目ppt課件教學教程
- 幼兒園課件:《鉛筆不能咬》
- 沒有斑馬線的馬路課件
- 高三物理一輪復習教學案追擊和相遇問題
- 門窗工程掛靠合同書
- 如何做好一名優秀的企業管理者
- 完整word版醫院信息管理系統測試報告
- 新版醫療器械隨貨同行單模版(共1頁)
- 寧波奉化區國有企業融資及對外擔保治理暫行辦法
- 導桿式柴油打樁錘使用說明書15p
評論
0/150
提交評論