可持續(xù)發(fā)展互聯(lián)網(wǎng)產(chǎn)品架構(gòu)設(shè)計(jì)_第1頁(yè)
可持續(xù)發(fā)展互聯(lián)網(wǎng)產(chǎn)品架構(gòu)設(shè)計(jì)_第2頁(yè)
可持續(xù)發(fā)展互聯(lián)網(wǎng)產(chǎn)品架構(gòu)設(shè)計(jì)_第3頁(yè)
可持續(xù)發(fā)展互聯(lián)網(wǎng)產(chǎn)品架構(gòu)設(shè)計(jì)_第4頁(yè)
可持續(xù)發(fā)展互聯(lián)網(wǎng)產(chǎn)品架構(gòu)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

可持續(xù)發(fā)展互聯(lián)網(wǎng)產(chǎn)品架構(gòu)設(shè)計(jì)第一頁(yè),共34頁(yè)。傳統(tǒng)產(chǎn)品的架構(gòu)設(shè)計(jì)-1.0建立BusinessModelE/R模型O/O模型確立業(yè)務(wù)流程開(kāi)發(fā)并嚴(yán)格測(cè)試(采用企業(yè)級(jí)Middleware或Framework)5×8運(yùn)營(yíng)第二頁(yè),共34頁(yè)。傳統(tǒng)產(chǎn)品的架構(gòu)設(shè)計(jì)-1.0DataLayer重視對(duì)象關(guān)系,對(duì)象關(guān)聯(lián)性強(qiáng),數(shù)據(jù)量小數(shù)據(jù)訪問(wèn)的性能往往通過(guò)成熟DB或者硬件配置保證數(shù)據(jù)存儲(chǔ)盡量集中,防止信息孤島EnterpriseMiddlewareOrFramework應(yīng)用服務(wù)器面向標(biāo)準(zhǔn)規(guī)范,易于不同開(kāi)發(fā)商產(chǎn)品之間打通業(yè)務(wù)邏輯復(fù)雜,耦合性高性能要求不高,日訪問(wèn)量<1M次WebOrClient大量的表單設(shè)計(jì)數(shù)據(jù)關(guān)系復(fù)雜用戶操作復(fù)雜,流程長(zhǎng)第三頁(yè),共34頁(yè)?;ヂ?lián)網(wǎng)產(chǎn)品的架構(gòu)設(shè)計(jì)-2.0建立用戶數(shù)據(jù)用戶模型,確定存儲(chǔ)模型用戶行為模型,確定訪問(wèn)模型搭建原型系統(tǒng)并簡(jiǎn)單測(cè)試上線運(yùn)營(yíng)--->灰度放量-Online升級(jí)7×24運(yùn)營(yíng)第四頁(yè),共34頁(yè)?;ヂ?lián)網(wǎng)產(chǎn)品的架構(gòu)設(shè)計(jì)-2.0DataCacheProxyDataLayerDataLayerDataLayerDataCacheDataCacheLogicLayerOperatingLayer平滑擴(kuò)容版本升級(jí)用戶模型系統(tǒng)模型WebOrClient對(duì)象關(guān)系簡(jiǎn)單,數(shù)據(jù)量大數(shù)據(jù)訪問(wèn)的性能往往通過(guò)logic層的cache來(lái)保證數(shù)據(jù)盡量分散,防止單點(diǎn)造成全員故障網(wǎng)絡(luò)協(xié)議盡量簡(jiǎn)單,保證網(wǎng)絡(luò)通信的高效DataCache控制最大化,保證高效的數(shù)據(jù)訪問(wèn)性能要求高,日訪問(wèn)量>10M甚至100M用戶行為分析,系統(tǒng)模型分析和延遲故障分析在線設(shè)備擴(kuò)容和版本升級(jí)面向用戶設(shè)計(jì),用戶操作簡(jiǎn)單第五頁(yè),共34頁(yè)。1.0VS2.0以業(yè)務(wù)數(shù)據(jù)為核心確定業(yè)務(wù)流程開(kāi)發(fā)并嚴(yán)格測(cè)試1.02.05×8運(yùn)營(yíng)(重點(diǎn)解決系統(tǒng)bug)運(yùn)營(yíng)與開(kāi)發(fā)脫節(jié)以用戶數(shù)據(jù)為核心通過(guò)用戶模型確定系統(tǒng)模型簡(jiǎn)單開(kāi)發(fā)、簡(jiǎn)單測(cè)試7×24運(yùn)營(yíng)(重點(diǎn)采集數(shù)據(jù)模型)灰度升級(jí)在線擴(kuò)容全新功能全新開(kāi)發(fā)通過(guò)運(yùn)營(yíng)數(shù)據(jù)修正用戶模型Fixbug第六頁(yè),共34頁(yè)?;ヂ?lián)網(wǎng)產(chǎn)品架構(gòu)設(shè)計(jì)的3個(gè)核心可運(yùn)營(yíng)用戶模型的采集系統(tǒng)模型的優(yōu)化可管理平滑擴(kuò)展Online升級(jí)可發(fā)展灰度放量持續(xù)迭代第七頁(yè),共34頁(yè)?;ヂ?lián)網(wǎng)產(chǎn)品架構(gòu)設(shè)計(jì)的4個(gè)概念持續(xù)迭代,化繁為簡(jiǎn)海量是什么環(huán)境需要干凈可持續(xù)發(fā)展第八頁(yè),共34頁(yè)。持續(xù)迭代,化繁為簡(jiǎn)20/80原則大系統(tǒng),小做所有的系統(tǒng)通過(guò)20/80的原則都可以實(shí)現(xiàn)小做再大的系統(tǒng)通過(guò)多次20/80可以將復(fù)雜問(wèn)題變簡(jiǎn)單第九頁(yè),共34頁(yè)。海量是什么用戶模型用戶行為用戶存儲(chǔ)系統(tǒng)模型CPU、Traffic、DiskI/O存儲(chǔ)量海量系統(tǒng)的關(guān)鍵是要用有限的資源最大化的去滿足用戶的需求第十頁(yè),共34頁(yè)。環(huán)境需要干凈開(kāi)發(fā)環(huán)境代碼控制測(cè)試環(huán)境麻雀雖小,五臟俱全運(yùn)營(yíng)環(huán)境發(fā)布工具所有的環(huán)境一定要干凈第十一頁(yè),共34頁(yè)??沙掷m(xù)發(fā)展力所能及、量力而行StepbyStep,站住點(diǎn),再發(fā)展1階段2階段3階段迭代迭代發(fā)展發(fā)展重點(diǎn):產(chǎn)品功能重點(diǎn):系統(tǒng)性能重點(diǎn):數(shù)據(jù)運(yùn)營(yíng)第十二頁(yè),共34頁(yè)?;ヂ?lián)網(wǎng)產(chǎn)品架構(gòu)設(shè)計(jì)的10個(gè)方法基礎(chǔ)篇灰度升級(jí)性能過(guò)載保護(hù)發(fā)展篇平滑擴(kuò)容Set模型染色機(jī)制統(tǒng)一部署提高篇容錯(cuò)分布柔性控制第十三頁(yè),共34頁(yè)?;A(chǔ)篇第十四頁(yè),共34頁(yè)?;A(chǔ)篇-灰度升級(jí)灰度升級(jí)指定UIN的升級(jí)UIN號(hào)段的升級(jí)(Hash,連續(xù)號(hào)段)指定版本的升級(jí)版本回退只有有了灰度升級(jí),才能實(shí)現(xiàn)系統(tǒng)的快速迭代第十五頁(yè),共34頁(yè)。例子-灰度升級(jí)HashServerServerServerServerMod2000=0172.16….172.16….172.16….172.16….Version1.0Mod2000=1172.16….172.16….172.16….172.16….1.1Mod2000=2172.16….172.16….172.16….172.16….1.2Mod2000=…172.16….172.16….172.16….172.16….1.0Mod2000=…172.16….172.16….172.16….172.16….1.3Mod2000=1999172.16….172.16….172.16….172.16….1.0UserVersionServerLegacyServerNewServerLegacyDBServerNewDBServer12345UINServerServerServerServer10001~100000172.16….172.16….172.16….172.16….Version1.130001172.16….172.16….172.16….172.16….1.2數(shù)據(jù)遷移控制用戶升級(jí)控制第十六頁(yè),共34頁(yè)。基礎(chǔ)篇-性能性能多進(jìn)程、多線程不能完全解決系統(tǒng)性能的問(wèn)題什么樣的系統(tǒng)最快,沒(méi)有阻塞的系統(tǒng)最快(即全異步系統(tǒng)最快)高性能是利用有限設(shè)備資源支持海量用戶的基礎(chǔ)第十七頁(yè),共34頁(yè)。例子-性能網(wǎng)絡(luò)處理進(jìn)程(被連接)網(wǎng)絡(luò)處理進(jìn)程(連接其他系統(tǒng))邏輯處理進(jìn)程memorycachediskcacheDatabase時(shí)鐘EPOLL異步connectEPOLLChecktimeoutREQRSPREQRSP共享內(nèi)存隊(duì)列共享內(nèi)存隊(duì)列同步查詢異步查詢異步查詢第十八頁(yè),共34頁(yè)?;A(chǔ)篇-過(guò)載保護(hù)過(guò)載保護(hù)系統(tǒng)自愈能力防止惡意攻擊海量系統(tǒng)中極容易造成“雪球效應(yīng)”雪球的產(chǎn)生無(wú)法避免,只要控制了雪球大小,就可以避免“雪崩”第十九頁(yè),共34頁(yè)。例子-過(guò)載保護(hù)在所有Tcpconnection的地方進(jìn)行過(guò)載保護(hù)建立滑動(dòng)窗口來(lái)進(jìn)行過(guò)載保護(hù),滑動(dòng)窗口為1000個(gè)格子,每個(gè)格子是100ms內(nèi)的請(qǐng)求數(shù),每次將請(qǐng)求加入相應(yīng)的格子中,進(jìn)行一次summary統(tǒng)計(jì),如果summary>MAX,那么CCD將拒絕請(qǐng)求,直到summary<=MAX因?yàn)門cpconnection對(duì)連接請(qǐng)求的超時(shí)控制在60s,Client端超時(shí)控制在45s,所以無(wú)論是惡意攻擊還是client端訪問(wèn)超時(shí),都會(huì)在100s的格子循環(huán)統(tǒng)計(jì)前進(jìn)行清除MAX的值根據(jù)各個(gè)Server的類型進(jìn)行控制Tcpconnection100ms100ms100ms100ms100msSummary<MAXRequestnum100srequestsummary第二十頁(yè),共34頁(yè)。發(fā)展篇第二十一頁(yè),共34頁(yè)。發(fā)展篇-平滑擴(kuò)容平滑擴(kuò)容網(wǎng)絡(luò)層的平滑擴(kuò)容Cache層的平滑擴(kuò)容存儲(chǔ)層的平滑擴(kuò)容Online的擴(kuò)容和平滑升級(jí)是系統(tǒng)可持續(xù)發(fā)展的保證第二十二頁(yè),共34頁(yè)。例子-平滑擴(kuò)容將Cache編號(hào)劃分10000份,Key%10000來(lái)定位Cache,當(dāng)系統(tǒng)擴(kuò)容時(shí),首先需要dump出原來(lái)cache中需要遷移的數(shù)據(jù),將cache轉(zhuǎn)換到文件中,然后將文件傳遞到新服務(wù)器上,然后將數(shù)據(jù)文件import到內(nèi)存中,最后修改cache的編號(hào)由于采用了10000份區(qū)間,所以可以是1/10000的割接逐步放大,所有擴(kuò)容過(guò)程可以自動(dòng)完成此外可以做得cache的擴(kuò)容與db擴(kuò)容無(wú)關(guān),所有的擴(kuò)容與擴(kuò)容設(shè)備的數(shù)量無(wú)比例關(guān)系,系統(tǒng)的模塊與擴(kuò)容也沒(méi)有較強(qiáng)的耦合IDX-Master01234567890123012301101112131415161718192301230123202122232425262728290123012301IDX-Master01234567890123456701101112131415161718192345670123202122232425262728294567012345Cache0Cache1Cache2Cache3Cache4Cache5Cache6Cache7第二十三頁(yè),共34頁(yè)。發(fā)展篇-染色機(jī)制染色機(jī)制用戶操作跟蹤問(wèn)題定位染色機(jī)制使得開(kāi)發(fā)到運(yùn)營(yíng)成為閉環(huán)第二十四頁(yè),共34頁(yè)。例子-染色機(jī)制因?yàn)門ransaction為系統(tǒng)的協(xié)議轉(zhuǎn)發(fā)中心,所有的信令請(qǐng)求將會(huì)通過(guò)它,所有Transaction中將會(huì)記錄用戶的操作痕跡Transaction通過(guò)QQ號(hào)能對(duì)用戶的痕跡進(jìn)行跟蹤TransactionClientServer1Server2Server3Server4Server5Server6Server7Server8Log:BYUINQQ::action1QQ::action2QQ::action3QQ::action4QQ::action5第二十五頁(yè),共34頁(yè)。發(fā)展篇-Set模型Set模型邏輯模塊的Set(Proxy,Cache,DB)功能單元的Set(產(chǎn)品功能)用戶數(shù)的Set(PV,在線)“小”系統(tǒng)與“大”系統(tǒng)的本質(zhì)區(qū)別第二十六頁(yè),共34頁(yè)。例子-Set模型接入層Set邏輯層SetT-MasterTransactionTransactionDU、IDX、MD5-MasterDownloadUploadUserIDXMD5DownloadUploadUserIDXMD5CHX-MasterCHXCHX存儲(chǔ)層Set8T一個(gè)Set128T一個(gè)Set第二十七頁(yè),共34頁(yè)。發(fā)展篇-統(tǒng)一部署統(tǒng)一發(fā)布、部署腳步統(tǒng)一Log統(tǒng)一遠(yuǎn)程安裝生產(chǎn)環(huán)境、測(cè)試環(huán)境、運(yùn)營(yíng)環(huán)境一致開(kāi)發(fā)、測(cè)試、發(fā)布、運(yùn)營(yíng)流程化的保障第二十八頁(yè),共34頁(yè)。提高篇第二十九頁(yè),共34頁(yè)。提高篇-容錯(cuò)容錯(cuò)Cache的容錯(cuò)(Binlog)DB的容錯(cuò)(replication)File的容錯(cuò)(Cluster)容錯(cuò)解決了單點(diǎn)問(wèn)題,容災(zāi)解決了天災(zāi)問(wèn)題第三十頁(yè),共34頁(yè)。例子-容錯(cuò)1、定時(shí)DumpdirtyNode(10001,20008,30008),由于一塊Cache占1G內(nèi)存,假設(shè)10%為脹數(shù)據(jù),dump次文件需要<5S,可以每天或幾天進(jìn)行一次2、Log將記錄所有的Update操作和Delete操作,這樣就保證了設(shè)備在異常dump機(jī)后,能將cache進(jìn)行恢復(fù)%10000=020000clean30000clean%10000=1……%10000=999910001dirty20001clean30001clean10008clean20008dirty30008dirty19999clean29999clean39999clean10000clean%10000=020000clean30000clean%10000=1……%10000=999950001clean60001dirty30001clean10008clean20008dirty30008dirty19999clean29999clean39999clean10000dirty%10000=0%10000=1……%10000=999960001dirty20008

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論