大型電商架構(gòu)及演化歷程

大型電商架構(gòu)及演化歷程

ID:39646399

大小:2.22 MB

頁數(shù):45頁

時間:2019-07-08

大型電商架構(gòu)及演化歷程_第1頁
大型電商架構(gòu)及演化歷程_第2頁
大型電商架構(gòu)及演化歷程_第3頁
大型電商架構(gòu)及演化歷程_第4頁
大型電商架構(gòu)及演化歷程_第5頁
資源描述:

《大型電商架構(gòu)及演化歷程》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、大型電商架構(gòu)及演化歷程盈天訊張宇自我介紹億瑪科技架構(gòu)師中宏互聯(lián)技術(shù)總監(jiān)凡客誠品首席架構(gòu)師IBMGBS資深電子商務(wù)顧問蘇寧易購項目,技術(shù)管理委員會核心成員曾參與上品折扣、廣之旅、李錦記、中國銀行企業(yè)網(wǎng)銀、平安保險等項目目前:盈天訊首席架構(gòu)師Agenda小且快(資金為重)大而全(功能為重)大且快(量級為重)大且敏(終極追求)技術(shù)趨勢小且快(資金為重)兩個層面的“快”架構(gòu)選型:ASP.NET、RoR等他們都選了什么?架構(gòu)特點部署架構(gòu)兩個層面的“快”電商的靈魂是“快”開發(fā)速度快運(yùn)行速度快小而快時候,更多的指的是開發(fā)速度快框架選型ASP.NETRoRGrailsPHP

2、Django他們都選了什么?架構(gòu)選型為什么大多數(shù)人選擇了ASP.NET?人員成本>服務(wù)器成本人力資源充沛有幾個人熟悉其他RAD?維護(hù)成本低成長空間:容易晉身為企業(yè)級架構(gòu)為什么大多數(shù)人選擇了自主研發(fā)?需要商業(yè)模式創(chuàng)新創(chuàng)業(yè)者期望“顛覆”“小而美”的時候,維護(hù)成本高架構(gòu)特點輕量,直觀,容易理解,架構(gòu)代價(overhead)小耦合度高基本不存在分層能做到靜態(tài)分層已經(jīng)很不錯了有些團(tuán)隊喜歡把所有查詢都寫在存儲過程中DataDriven以數(shù)據(jù)(庫)為中心的設(shè)計全局?jǐn)?shù)據(jù)共享,極少考慮封裝性CRUD四輪馬車的代碼沒有,也不太可能測試(單元,集成)部署架構(gòu)基本上是單點甚至是租用

3、主機(jī)現(xiàn)在可以選擇云大而全(功能為重)野蠻生長企業(yè)級需求問題架構(gòu)演進(jìn)架構(gòu)特征部署架構(gòu)野蠻生長截止到2010年3月份,凡客誠品技術(shù)部接到的需求已經(jīng)排期排到了2013年技術(shù)團(tuán)隊從2-5個人突然增長到300+,后來增長到1000+蘇寧易購也同樣經(jīng)歷了開發(fā)人員從幾十一下子到幾百再一下子到上千的階段網(wǎng)站后臺從幾個模塊增加到上百個模塊從單一網(wǎng)站系統(tǒng)演變?yōu)楸姸鄻I(yè)務(wù)系統(tǒng)(客服系統(tǒng)、聯(lián)盟系統(tǒng)、搜索系統(tǒng)、供應(yīng)商系統(tǒng)、物流倉儲系統(tǒng)……)每個系統(tǒng)都有少則幾十多則上百的模塊企業(yè)級需求企業(yè)級復(fù)雜度工作流(審核、審批)專業(yè)的財務(wù)需求多系統(tǒng)統(tǒng)一認(rèn)證(SSO、LDAP)、權(quán)限作業(yè)(JOB、Cr

4、on)系統(tǒng)、隊列、批處理各種客戶端接入(C/S、B/S)凡客管理平臺,ERP,CRM,WMS,客服系統(tǒng)都是C/S架構(gòu)問題來不及設(shè)計系統(tǒng)關(guān)鍵環(huán)節(jié)越來越復(fù)雜,越來越難維護(hù)“訂單轉(zhuǎn)有效”是一個凡客內(nèi)部著名的存儲過程,歷經(jīng)4名程序員,最終達(dá)到3000+行SQL,并成功達(dá)到無人能懂,無人敢改的地步所有功能交織在一起,牽一發(fā)而動全身代碼改動影響面大,回歸測試范圍大長事務(wù)、大事務(wù)架構(gòu)演進(jìn)——分層架構(gòu)面對越來越復(fù)雜的業(yè)務(wù)系統(tǒng),首要的問題是耦合過重最基本的是分層架構(gòu)分層架構(gòu)——我們得到了什么?人們常說,分層架構(gòu)主要的好處是可以替換某一層的具體實現(xiàn),比如我可以把UI層從Stru

5、ts換成SpringVMC,可以把DataAccess層從Hibernate換成iBatis,但多少項目換過?更清晰的代碼噪音的減小更有意義的命名復(fù)用可維護(hù)性存儲過程中的業(yè)務(wù)邏輯全部收回邏輯層架構(gòu)演進(jìn)——劃分模塊分層架構(gòu)使得各層之間的依賴關(guān)系變得明晰重構(gòu)、重寫部分代碼拆分依賴中樞下單促銷劃分業(yè)務(wù)模塊使用單元測試保證重構(gòu)是安全的RefactoringToPatterns架構(gòu)演進(jìn)——AOPSSO,權(quán)限等代碼事務(wù)代碼日志代碼嚴(yán)重干擾了業(yè)務(wù)代碼的清晰度增加了出錯幾率架構(gòu)特征分層清晰,層次之間依賴關(guān)系清晰面向接口的設(shè)計采用Spring等DI框架各小組負(fù)責(zé)自己的業(yè)務(wù)模塊

6、AOP等架構(gòu)組件使基礎(chǔ)服務(wù)自動化數(shù)據(jù)庫集成主系統(tǒng)和各個邊緣系統(tǒng)通過共享數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交換數(shù)據(jù)庫表混用現(xiàn)象突出用戶、訂單表中的字段可能多達(dá)100多個,被十幾個系統(tǒng)分別使用數(shù)據(jù)庫鎖現(xiàn)象嚴(yán)重各個系統(tǒng)爭用數(shù)據(jù)庫鎖某些數(shù)據(jù)庫產(chǎn)品因此容易發(fā)生死鎖現(xiàn)象部署架構(gòu)負(fù)載均衡優(yōu)于HA(熱備)可以隨時擴(kuò)展新的運(yùn)算能力大且快(量級為重)挑戰(zhàn)架構(gòu)演進(jìn)CQRS緩存切分橫縱切分前后端切分異步與最終一致ReportingDatabase架構(gòu)演進(jìn)——CQRS電商的特點是,80%的請求是只讀的CQRS=CommandQueryResponsibilitySeparation不僅僅是你認(rèn)為的讀寫分

7、離從UI,到Action,到Service,一直到數(shù)據(jù)庫,貫穿始終的讀寫分離Cache-Control命名規(guī)范:GetXXX,QueryXXX讀寫分離的事務(wù)控制(電商容許很大范圍的數(shù)據(jù)不一致現(xiàn)象)只讀數(shù)據(jù)庫架構(gòu)演進(jìn)——CQRS架構(gòu)演進(jìn)——各級緩存瀏覽器緩存CDN前端HTTP緩存(Squid,Vanish)HTML代碼片緩存(Memcache)Service級緩存(緩存AOP)DataAccess級緩存HibernateCache優(yōu)化緩存命中率隔離動態(tài)的部分客戶端緩存網(wǎng)絡(luò)設(shè)備緩存應(yīng)用服務(wù)器緩存分布式緩存數(shù)據(jù)庫緩存CQRS+緩存——解決80%的性能問題主庫的50

8、%以上的壓力下降,可以專心處理事務(wù)只讀數(shù)據(jù)庫可以任意

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。