![互聯(lián)網(wǎng)系統(tǒng)架構(gòu)_第1頁](http://file4.renrendoc.com/view/e21c341b21b4ba80e74a23c67b7bfae5/e21c341b21b4ba80e74a23c67b7bfae51.gif)
![互聯(lián)網(wǎng)系統(tǒng)架構(gòu)_第2頁](http://file4.renrendoc.com/view/e21c341b21b4ba80e74a23c67b7bfae5/e21c341b21b4ba80e74a23c67b7bfae52.gif)
![互聯(lián)網(wǎng)系統(tǒng)架構(gòu)_第3頁](http://file4.renrendoc.com/view/e21c341b21b4ba80e74a23c67b7bfae5/e21c341b21b4ba80e74a23c67b7bfae53.gif)
![互聯(lián)網(wǎng)系統(tǒng)架構(gòu)_第4頁](http://file4.renrendoc.com/view/e21c341b21b4ba80e74a23c67b7bfae5/e21c341b21b4ba80e74a23c67b7bfae54.gif)
![互聯(lián)網(wǎng)系統(tǒng)架構(gòu)_第5頁](http://file4.renrendoc.com/view/e21c341b21b4ba80e74a23c67b7bfae5/e21c341b21b4ba80e74a23c67b7bfae55.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、互聯(lián)網(wǎng)系統(tǒng)架構(gòu)第1頁提要指導(dǎo)思想實例架構(gòu)進(jìn)化實現(xiàn)框架慣用技術(shù)第2頁指導(dǎo)思想分而治之(divide and conquer)集中調(diào)度(centralized schedule)緩存(cache)復(fù)制(replication)數(shù)據(jù)采集(sample)第3頁實例1:Google早期系統(tǒng)架構(gòu)Replica 1Replica 0GTCNetscalerGFEGSLBGFEGFEBackend0Backend0Backend0Backend0LBBackend1Backend1UserBorgBorgMonAlertManager第4頁實例2:分層分模塊架構(gòu)第5頁架構(gòu)進(jìn)化利用指導(dǎo)思想,一步一步進(jìn)化成一個大
2、規(guī)模服務(wù)架構(gòu)第6頁分離webserver和數(shù)據(jù)庫/BlueDavy/archive/09/03/226749.html狀態(tài)搜集第7頁增加頁面緩存狀態(tài)搜集第8頁增加頁面片段緩存狀態(tài)搜集第9頁數(shù)據(jù)緩存狀態(tài)搜集第10頁增加webserver狀態(tài)搜集服務(wù)調(diào)度第11頁分庫狀態(tài)搜集服務(wù)調(diào)度第12頁分表、DAL和分布式緩存狀態(tài)搜集服務(wù)調(diào)度第13頁增加更多webserver狀態(tài)搜集第14頁數(shù)據(jù)讀寫分離和廉價存放方案狀態(tài)搜集第15頁大型分布式應(yīng)用和廉價服務(wù)器群狀態(tài)搜集服務(wù)調(diào)度第16頁實現(xiàn)框架Zookeeper服務(wù)集群管理Thrift RPC 實現(xiàn)服務(wù)模塊Nagios數(shù)據(jù)采集監(jiān)控第17頁ZooKeeperZook
3、eeper 從設(shè)計模式角度來看,是一個基于觀察者模式設(shè)計分布式服務(wù)管理框架,負(fù)責(zé)存放和管理大家都關(guān)心數(shù)據(jù),然后接收觀察者注冊,一旦這些數(shù)據(jù)狀態(tài)發(fā)生改變,Zookeeper 就將負(fù)責(zé)通知已經(jīng)在 Zookeeper 上注冊那些觀察者做出對應(yīng)反應(yīng),從而實現(xiàn)集群管理。第18頁統(tǒng)一命名服務(wù)(Name Service)分布式應(yīng)用中,通常需要有一套完整命名規(guī)則,既能夠產(chǎn)生唯一名稱又便于人識別和記住,通常情況下用樹形名稱結(jié)構(gòu)是一個理想選擇,樹形名稱結(jié)構(gòu)是一個有層次目錄結(jié)構(gòu),既對人友好又不會重復(fù)。Name Service 已經(jīng)是 Zookeeper 內(nèi)置功效,只要調(diào)用 Zookeeper API 就能實現(xiàn)。如調(diào)
4、用 create 接口就能夠很輕易創(chuàng)建一個目錄節(jié)點。第19頁配置管理(Config Management)配置管理在分布式應(yīng)用環(huán)境中很常見,比如同一個應(yīng)用系統(tǒng)需要多臺 Server 運行,不過它們運行應(yīng)用系統(tǒng)一些配置項是相同,假如要修改這些相同配置項,那么就必須同時修改每臺運行這個應(yīng)用系統(tǒng) Server,這么非常麻煩而且輕易犯錯。像這么配置信息完全能夠交給 Zookeeper 來管理,將配置信息保留在 Zookeeper 某個目錄節(jié)點中,然后將全部需要修改應(yīng)用機器監(jiān)控配置信息狀態(tài),一旦配置信息發(fā)生改變,每臺應(yīng)用機器就會收到 Zookeeper 通知,然后從 Zookeeper 獲取新配置信息應(yīng)
5、用到系統(tǒng)中。第20頁配置管理(Config Management)第21頁集群管理(Group Membership)Zookeeper 能夠很輕易實現(xiàn)集群管理功效,如有多臺 Server 組成一個服務(wù)集群,那么必須要一個“總管”知道當(dāng)前集群中每臺機器服務(wù)狀態(tài),一旦有機器不能提供服務(wù),集群中其它集群必須知道,從而做出調(diào)整重新分配服務(wù)策略。一樣當(dāng)增加集群服務(wù)能力時,就會增加一臺或多臺 Server,一樣也必須讓“總管”知道。實現(xiàn)方式都是在 Zookeeper 上創(chuàng)建一個 EPHEMERAL 類型目錄節(jié)點,然后每個 Server 在它們創(chuàng)建目錄節(jié)點父目錄節(jié)點上調(diào)用 getChildren(Stri
6、ng path, boolean watch) 方法并設(shè)置 watch 為 true,因為是 EPHEMERAL 目錄節(jié)點,當(dāng)創(chuàng)建它 Server 死去,這個目錄節(jié)點也隨之被刪除,所以 Children 將會改變,這時 getChildren上 Watch 將會被調(diào)用,所以其它 Server 就知道已經(jīng)有某臺 Server 死去了。新增 Server 也是一樣原理。第22頁集群管理(Group Membership)第23頁ThriftThrift 是 Facebook 實現(xiàn)一個高效、支持各種編程語言遠(yuǎn)程服務(wù)調(diào)用框架。結(jié)合了功效強大軟件堆棧代碼生成引擎,無縫地與C+,C#,Java,Pytho
7、n和PHP和Ruby,Javascript等各種語言結(jié)合。Thrift允許你定義一個簡單定義文件中數(shù)據(jù)類型和服務(wù)接口,以作為輸入文件,編譯器生成代碼用來方便地生成RPC客戶端和服務(wù)器通信無縫跨編程語言。競品有ProtoBuf等。第24頁Thrift 文件樣例Hello.thriftnamespace java service.demo service Hello string helloString(1:string para) i32 helloInt(1:i32 para) bool helloBoolean(1:bool para) void helloVoid() string hel
8、loNull() 定義了服務(wù) Hello 五個方法,每個方法包含一個方法名,參數(shù)列表和返回類型。每個參數(shù)包含參數(shù)序號,參數(shù)類型以及參數(shù)名。使用 Thrift 工具編譯 Hello.thrift,就會生成對應(yīng) Hello.java 文件。該文件包含了在 Hello.thrift 文件中描述服務(wù) Hello 接口定義,即 Hello.Iface 接口,以及服務(wù)調(diào)用底層通信細(xì)節(jié)。第25頁Thrift 文件樣例structReport 1:requiredstringmsg ; /該字段必須填寫2:optionali32type=0;/默認(rèn)值3:i32time/默認(rèn)字段類型為optional第26頁T
9、hrift 架構(gòu)第27頁Nagios一款無償開源 IT 基礎(chǔ)設(shè)施監(jiān)控系統(tǒng),其功效強大,靈活性強,能有效監(jiān)控 Windows 、Linux、VMware 和 Unix 主機狀態(tài),交換機、路由器等網(wǎng)絡(luò)設(shè)置等。一旦主機或服務(wù)狀態(tài)出現(xiàn)異常時,會發(fā)出郵件或短信報警第一時間通知 IT 運行人員,在狀態(tài)恢復(fù)后發(fā)出正常郵件或短信通知。Nagios 結(jié)構(gòu)簡單,可維護(hù)性強,同時提供一個可選基于瀏覽器 Web 界面,方便管理人員查看系統(tǒng)運行狀態(tài),網(wǎng)絡(luò)狀態(tài)、服務(wù)狀態(tài)、日志信息,以及其它異?,F(xiàn)象。簡單地插件設(shè)計使得用戶能夠方便地擴(kuò)展自己服務(wù)檢測方法。競品有Zabbix等。第28頁Nagios工作原理第29頁Nagios
10、架構(gòu)第30頁插件樣例插件:#!/usr/bin/env pythonimport os,sys(d1, d2, d3) = os.getloadavg()if d1 = 5.0: print GETLOADAVG CRITICAL: Load average is %.2f % (d1) sys.exit(2)else: print GETLOADAVG OK: Load average is %.2f % (d1) sys.exit(0)注冊:define command command_name check_mygetloadavg command_line /path/to/check_
11、getloadavg 使用:define service use service-template host_name localhost service_description LoadAverage check_period 24x7 contact_groups server-admins notification_options c,r check_command check_mygetloadavg第31頁Put them togetherZooKeeper數(shù)據(jù)服務(wù)1數(shù)據(jù)服務(wù)2數(shù)據(jù)服務(wù)n業(yè)務(wù)服務(wù)1業(yè)務(wù)服務(wù)2業(yè)務(wù)服務(wù)m展示服務(wù)1展示服務(wù)2展示服務(wù)k注冊監(jiān)聽ThriftThriftThr
12、iftThriftThrift反向代理1反向代理2反向代理l負(fù)載均衡Nagios第32頁Q/A or Continue?第33頁慣用技術(shù)前端應(yīng)用邏輯后端數(shù)據(jù)庫搜索推薦移動第34頁前端防火墻,DDos負(fù)載均衡:F5,Netscaler,LVS,DNSHTML,HTML5,F(xiàn)lash,JavascriptPHP,Java,Ruby,.Net,Python,Node.jsApache,Nginx,customized http server第35頁負(fù)載均衡數(shù)據(jù)中心間均衡:DNS數(shù)據(jù)中心內(nèi)均衡:F5,LVS,反向代理后端服務(wù)均衡第36頁應(yīng)用邏輯PHP,Ruby,Python,Java,.Net等框架組
13、件第37頁數(shù)據(jù)庫Database:MySQL,Postgres,OracleNoSQL:MongoDB,Cassandra第38頁數(shù)據(jù)庫/存放結(jié)構(gòu)第39頁數(shù)據(jù)庫/分表第40頁數(shù)據(jù)庫/分表/bluishglc/article/details/6161475第41頁數(shù)據(jù)庫/高可靠性/database/ha-scale-out-architecture-based-mysql第42頁數(shù)據(jù)庫/Cache & Search第43頁NoSQL/paper/databases/nosql/Nosql.html/a/0920/1248/000001248963_all.shtml第44頁搜索引擎第45頁推薦引擎/developerworks/cn/web/1103_zhaoct_recommstudy1/index.html第46頁推薦引擎基于人口統(tǒng)計學(xué)推薦機制工作原理第47頁推薦引擎基于內(nèi)容推薦機制基本原理第48頁推薦引擎基于用戶協(xié)同過濾推薦機制基本原理第49頁推薦引擎基于項目標(biāo)協(xié)同過濾推薦機制基本
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 會場安全協(xié)議合同范本
- 學(xué)校如何促進(jìn)學(xué)生的身心發(fā)展
- 代理生產(chǎn)加工合同范本
- 2025年度攪拌站混凝土供應(yīng)合同實施細(xì)則
- 2025年度養(yǎng)老產(chǎn)業(yè)項目合作居間合同
- 代倉業(yè)務(wù)合同范本
- 個人微型企業(yè)用工合同范本
- 出口退稅銷售合同范本
- 產(chǎn)品廣告拍攝合同范本
- 保潔用品合同范本
- 湖南省懷化市2024-2025學(xué)年九年級上學(xué)期期末化學(xué)試題(含答案)
- “5E”教學(xué)模式下高中數(shù)學(xué)教學(xué)實踐研究
- 《醫(yī)學(xué)影像檢查技術(shù)學(xué)》課件-踝X線攝影
- 急救藥品知識培訓(xùn)內(nèi)容
- 【64精品】國標(biāo)蘇少版小學(xué)音樂六年級下冊教案全冊
- 汽車座椅骨架的焊接夾具論文說明書
- 前列腺癌臨床路徑(最全版)
- [重慶]房建和市政工程質(zhì)量常見問題防治要點
- 發(fā)電機組自動控制器
- 翻車機主要技術(shù)參數(shù)
- 最新金礦堆浸初步設(shè)計
評論
0/150
提交評論