人人網(wǎng)技術(shù)架構(gòu)的演進(jìn)_(黃晶)_huangjing-renren.ppt_第1頁(yè)
人人網(wǎng)技術(shù)架構(gòu)的演進(jìn)_(黃晶)_huangjing-renren.ppt_第2頁(yè)
人人網(wǎng)技術(shù)架構(gòu)的演進(jìn)_(黃晶)_huangjing-renren.ppt_第3頁(yè)
人人網(wǎng)技術(shù)架構(gòu)的演進(jìn)_(黃晶)_huangjing-renren.ppt_第4頁(yè)
人人網(wǎng)技術(shù)架構(gòu)的演進(jìn)_(黃晶)_huangjing-renren.ppt_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

人人網(wǎng)技術(shù)架構(gòu)介紹 人人網(wǎng) 黃晶 Guideline 人人網(wǎng)架構(gòu)發(fā)展NuclearRose 架構(gòu)發(fā)展 2006Let sGetitstartedResinProMySQLInnoDB主從結(jié)構(gòu)單Storage Squid 架構(gòu)發(fā)展 2007突飛猛進(jìn)LVSResinWeb集群大量使用Memcached中間層 基于ICEMySQL集群 垂直分區(qū)簡(jiǎn)單分布式StorageLucence搜索 架構(gòu)發(fā)展 2008繼續(xù)突破開(kāi)放API SOAMySQL集群 水平分區(qū)加強(qiáng)監(jiān)控和安全DFS 龍存 架構(gòu)發(fā)展 2009 2010穩(wěn)健發(fā)展緊耦合 松耦合 SOAGracefuldegradationMySQL NoSQL多數(shù)據(jù)中心 可擴(kuò)展 災(zāi)備關(guān)注TCO Guideline 人人網(wǎng)架構(gòu)發(fā)展NuclearRose Nuclear 功能 分布式key value存儲(chǔ)數(shù)據(jù)自動(dòng)復(fù)制到多個(gè)節(jié)點(diǎn)數(shù)據(jù)自動(dòng)分區(qū)到不同節(jié)點(diǎn)存儲(chǔ)容量無(wú)限擴(kuò)展CAP CA Nuclear CAP 可用性永遠(yuǎn)可寫(xiě)入 HintedHandoff 不存在單點(diǎn)風(fēng)險(xiǎn) Nuclear CAP 多一致性選項(xiàng)DISCARDMINQUOROMDISCARDUOROMALL提供最終一致性EventuallyConsistent Nuclear Overview Nuclear 原理 構(gòu)建NIONettyProtocolBuffersSpring富數(shù)據(jù)模型Key List弱結(jié)構(gòu)化查詢(xún) Nuclear 原理 分區(qū) HashRing NodeA0 6148914691236517205NodeB6148914691236517205 12297829382473034410NodeC12297829382473034410 18446744073709551616 Nuclear 原理 增加節(jié)點(diǎn) NodeN0 3074457345618258602NodeA3074457345618258602 6148914691236517205NodeB6148914691236517205 12297829382473034410NodeC12297829382473034410 18446744073709551616 Nuclear 原理 增加節(jié)點(diǎn) A c a b c a b B a b c a b c C b c a b c a N c n b c a b A n a c n b c B a b n a c n C b c a b n a A a b NB b c NC c n N Nuclear 原理 替換節(jié)點(diǎn) A d a c d b c B a b d a c d C b c a b d a D c d b c a b N d n c d b c B n b d n c d C b c n b d n D c d b c n b B d a NC b c ND c d N Nuclear 原理 刪除節(jié)點(diǎn) A d a c d b c B a b d a c d C b c a b d a D c d b c a b B d b c d b c C b c d b c d D c d b c d b C b c BD c d CB d a D Nuclear 原理 節(jié)點(diǎn)狀態(tài)遷移圖 Nuclear 原理 Consistency和NWRW R NW 2R 2N 3系統(tǒng)保障最終的一致性MerkleTree Nuclear 應(yīng)用 系統(tǒng)組件普通節(jié)點(diǎn) Node 接收Client請(qǐng)求提供數(shù)據(jù)存儲(chǔ)中心節(jié)點(diǎn) Seed 維護(hù)整個(gè)NuclearInstance的拓?fù)潢P(guān)系健康檢測(cè)客戶(hù)端 NuclearClient 提供CRUDAPI Nuclear 應(yīng)用 NuclearInstance NodeA NodeB NodeZ Seed ClientRequest Nuclear 應(yīng)用 節(jié)點(diǎn)變更增加shnode shnewA刪除deletenodeA manage sh 替換replaceA Nuclear 應(yīng)用 性能單節(jié)點(diǎn)處理最高2 5Wreq s典型應(yīng)用環(huán)境 4NodeMysqlN 3W 2R 2100ClientWriteRequest 單個(gè)Node15862req s 平均單次請(qǐng)求耗時(shí)5ms 99 51 請(qǐng)求耗時(shí) 50ms Nuclear 應(yīng)用 性能 Nuclear 應(yīng)用 NuclearClientAPI Get paramkey paramdataID paramconsistencyLevelList paramkey paramCondition paramconsistencyLevelNextDataID Put paramkey paramdataID paramvalue paramconsistencyLevelReplace同PutdataID可選Delete paramkey paramdataID paramconsistencyLevel Nuclear 應(yīng)用 CodeExampleDataIDProtocolBuffer Nuclear 應(yīng)用 NuclearManageClientQPS查看Node接收請(qǐng)求總數(shù)Node處理請(qǐng)求耗時(shí)數(shù)據(jù)節(jié)點(diǎn)信息查看集群拓?fù)湫畔⒉榭磩?dòng)態(tài)更改節(jié)點(diǎn)處理線程數(shù) Nuclear 展望 EventuallyConsistentVectorClockAsyncStoreReadCacheBalanceMonitorBigTable Nuclear 參考 Amazon sDynamo Guideline 人人網(wǎng)架構(gòu)發(fā)展NuclearRose Rose是什么 Rose人人網(wǎng)釋出的開(kāi)源Web開(kāi)放框架 Java 主創(chuàng) 王志亮 人人網(wǎng)架構(gòu)組REST式Web開(kāi)發(fā)基于Spring技術(shù)支持服務(wù)端portal Rose的應(yīng)用 100 覆蓋人人網(wǎng)Web網(wǎng)站首頁(yè) 個(gè)人主頁(yè)狀態(tài) 日志 分享公共主頁(yè)開(kāi)放平臺(tái) Rose的發(fā)展 人人網(wǎng)支持全線使用不斷更新穩(wěn)定發(fā)布開(kāi)源路線Wiki電子書(shū) Rose開(kāi)發(fā)示例 資源假設(shè)有2個(gè)只讀資源GET blog 251375230 459764084這是一篇日志的URL251375230是作者的ID459764084是該日志的IDGET blog 251375230這是某個(gè)人的日志的URL251375230是作者的ID Rose開(kāi)發(fā)示例 控制器骨架packagecom renren blog controllers blog ReqMapping userId 0 9 publicclassBlogController GetpublicStringlist Param userId longuserId return blog list Get entryId 0 9 publicStringshow Param userId longuserId Param entryId longentryId return blog show Rose開(kāi)發(fā)示例 視圖文件骨架根存放地址 webapp viewsBlogController視圖地址 webapp views blogblog list jspblog show vm Rose開(kāi)發(fā)示例 model 控制器 視圖 AutowiredBlogServiceblogService GetpublicStringlist Invocationinv Param userId longuserId Listentries blogService findUserEntries userId inv addModel entries entries return blog list Rose開(kāi)發(fā)示例 使 Autowired工作實(shí)現(xiàn)步驟創(chuàng)建com renren blog service BlogService及其實(shí)現(xiàn)在WEB INF下創(chuàng)建spring配置文件 applicationContext blog xml把BlogService實(shí)現(xiàn)配置到該文件中BlogController將自動(dòng)通過(guò)類(lèi)型找到BlogService實(shí)例并注入 dependecyinjection autowired機(jī)制在純粹spring中默認(rèn)是關(guān)閉的在rose下默認(rèn)是打開(kāi)的 而且無(wú)法關(guān)閉 Rose開(kāi)發(fā)示例 部署在sourceFolder META INF 目錄下創(chuàng)建rose properties 寫(xiě)上rose controllers messages applicationContext daojar包發(fā)布 確認(rèn)rose properties存在于目標(biāo)jar的META INF下web xml配置roseFilterroseFilternet paoding rose RoseFilterroseFilter REQUESTFORWARDINCLUDE start sh Rose其他特性 可擴(kuò)展 可訂制參數(shù)解析器參數(shù)驗(yàn)證器攔截器統(tǒng)一錯(cuò)誤處理器flash 在重定向前后傳遞信息簡(jiǎn)單 可層級(jí)化的國(guó)際化支持rose重量級(jí)插件 服務(wù)端portal技術(shù)調(diào)試工具 rose info jar rose

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論