基礎架構 沈劍 互聯(lián)網分層架構演進-基礎架構專場_第1頁
基礎架構 沈劍 互聯(lián)網分層架構演進-基礎架構專場_第2頁
基礎架構 沈劍 互聯(lián)網分層架構演進-基礎架構專場_第3頁
基礎架構 沈劍 互聯(lián)網分層架構演進-基礎架構專場_第4頁
基礎架構 沈劍 互聯(lián)網分層架構演進-基礎架構專場_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

互聯(lián)網分層架構演進58沈劍關于-我.“架構師之路“作者,深夜寫寫技術文章-百度-高級工程師58同城-高級架構師,技術委員會主席,技術學院優(yōu)秀講師58到家-高級技術總監(jiān),技術委員會主席58速運-CTO本質:技術人一枚目錄.互聯(lián)網分層架構本質.互聯(lián)網分層架構演進.總結—、互聯(lián)網分層架構本質典型分層架構.傳統(tǒng)三層架構-服務化后四層架構.MVC服務端與客戶端(client)web-serverHcache(

“*cacheseivicedb互聯(lián)網分層架構的本質-數(shù)據(jù)處理->各層次的形態(tài)-數(shù)據(jù)移動->傳輸格式,協(xié)議(client)~Adatamiovingweb-sen/erdatamiovingservice-----------acacheJldatamiovingdatamioving-dbjs-----(client)httpweb-seiverbinarykvfuid.User)sen/cebinaryrowfuid,name,age)為什么要討論這個?分層架構演進的方法論?讓上游更高效的獲取與處理數(shù)據(jù)-讓下游能屏蔽數(shù)據(jù)的獲取細節(jié)這個能夠解釋和回答為什么要做這樣的"架構分層?DAO.基礎數(shù)據(jù)服務,通用業(yè)務服務,前后端分離__?數(shù)據(jù)庫中間層-APP分層—、互聯(lián)網分層架構演進歷程為什么要分層抽象出DAO層Connectioncon=DriverManager.getConnection(*jdbcmysql://localhost:3306/user",,root","pass");Statementstmt=con.createStatementO;ResultSetrs=stmt.executeQuery("select*fromuserwhereuid=123");while(rs.nextQ)(Stringname=rs.getStringC,name");}rs.close();stmt.closeO;con.close();web-sen/erweb-server@Table(name="t_user")publicclassUserimplementsSerializable{@Column(name="uid")privatelongid;@Column(name="name")privateStringuserName;);intupateEntity(Objectbean);ObjectqueryEntity(longid);為什么要分層抽象出基礎數(shù)據(jù)服務層上游:業(yè)務垂直析分...下游:緩存數(shù)據(jù)庫水平切分垂直業(yè)務2:

web-serverDAOmc-clientredis-client垂直業(yè)務3:

web-serverDAOrnc-clientredis-client垂直業(yè)務1:

web-serverDAOmc-clientredis-client為什么要分層抽象出通用業(yè)務服務層Wi

user-db:user-cachese-dbse-cacheirec-db('(rec-cache\user-db:user-cachejrec-dbirec-cache\為什么要分層抽象前后端分離web-viewweb-serverweb-databiz-service王biz-serviceVserviceserviceDAODAOweb-view為什么要分層抽象前后端分離web-serverweb-databiz-service1-------------------biz-service4~VserviceserviceDAODAOIdbdb(端PC/H5/APP站點web-serve「通用業(yè)務服^-biz-service基礎數(shù)據(jù).^S-data-service丨

8丨mobileAPP”

______________—VVVnode.jsnodejsnode.js58.com土—stomcatX-—|servicedservice2service3湍PC/H5/APP站點展示層站點數(shù)據(jù)層通用業(yè)務服^-biz-service基礎數(shù)據(jù).服務data-service為什么要分層抽象數(shù)據(jù)庫中間層5集中處理跨褲分頁5隼中處理跨罹分頁5隼中處理跨褲分頁5一隼中處理跨褲的頁XI-SArvicp|mapping(db1i(db2[jmapping(|:db1i('db2f(mapping(db1('idb2imapping?idb1Iidb2il.patitionkey路由2一先mapping再路由旗先全庫,再合并4一先分析,再按需略由l.patitionkey路由2一先mapping再路由:壬先全庫,再臺并?4先分析,再按需路由1.patitionkey路由2.先mapping再路由3.先全庫,再合并4.先分析,再按需路由l.patitionkey路由2一先mapping再路由土先全庫,再臺并4一先分析,再按需路由web-viewweb-databiz-sen/iceseivice□AOdb-proxydbl.patitionkey路由2一先mapping再路由土先全庫,再合并4一先分析,再投需路由5..集中處理跨褲的頁db-proxy.jar---l.patitionkey路由2一先mapping再路由3.先全庫,再合并4一先分析,再按需路由S.集中處悝跨精分頁APPAPP層分層抽象各類數(shù)據(jù)匯總到APPIweb-server1Tsj-serviceIuser-serviceIIorder-serviceIxx-servicevif'r(sj-dbfuser-db((order-db[xx-db((sj-cache(user-cachei(order-cache(xx-cachel「I我需要教據(jù)web-serverLogin-Activityview原子邏輯只調一個函數(shù)boolverifyPass(name.pass)List<uid>getFriendList(uid)controluser-serviceonLoginCancelList<User>getMuItiUserlnfo(List<uid>)List<Msg>getOfflineMsg(uid)I-獲取數(shù)據(jù)一modeDataAccess□nLoginConfirmClick組含原子?邏輯、,______________________實現(xiàn)UsergetUserlnfo(uid)C務—________—user-dbuser-cacheLocalDbProxyLocalFilePro

溫馨提示

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

評論

0/150

提交評論