版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、大規(guī)模網(wǎng)站架構(gòu)email: yuanzhenhua.startPHPfacebook,yahooJavataobao,163Pythongoogle.NETMySpace語(yǔ)言不是可伸伸縮性的的關(guān)鍵,架構(gòu)才是關(guān)鍵鍵網(wǎng)站架構(gòu)構(gòu)的目標(biāo)標(biāo)高可用性性(HighAvailability)可伸縮性性(Scalability)高性能(HighPerformance)事務(wù)傳統(tǒng)的事事務(wù)(ACID)原子性(Atomicity)一致性(Consistency)隔離性(Isolation)持久性(Durability)CAP原原則Consistency 一致致性Availability可可用性PartitionTole
2、rance分分區(qū)耐受性在任意時(shí)時(shí)刻,只只有兩項(xiàng)項(xiàng)能同時(shí)時(shí)成立不要浪費(fèi)費(fèi)精力可可能突破破上面限限制可用性一致性分區(qū)耐受受性新的事務(wù)務(wù)策略-BASE策略略避免分布布式事務(wù)務(wù)基本可用用(BasicallyAvailable)軟狀態(tài)(Softstate)選擇最終一致致(Eventuallyconsistent)數(shù)據(jù)庫(kù)讀讀寫(xiě)分離離MySQLProxy(數(shù)數(shù)據(jù)庫(kù)讀讀寫(xiě)分離離)load balancingfailoverqueryanalysisR/WSplitting數(shù)據(jù)庫(kù)Shard水平分區(qū)區(qū)垂直分區(qū)區(qū)ShardingvsPartition垂直分區(qū)區(qū)userblogAppDAL水平分區(qū)區(qū)user 33%u
3、ser 33%AppDALuser 34%水平分區(qū)區(qū)DAL(數(shù)據(jù)訪訪問(wèn)層)對(duì)應(yīng)用透透明的使使用數(shù)據(jù)據(jù)庫(kù)的水水平分區(qū)區(qū)及垂直直分區(qū)DALProxy(實(shí)現(xiàn)1)應(yīng)用DAL服服務(wù)器器useruserDALAPI(實(shí)現(xiàn)現(xiàn)2)應(yīng)用DALuseruser兩種實(shí)現(xiàn)現(xiàn)方式獨(dú)立的DALProxy服服務(wù)器MySQL:AmoebaPostgreSQL:PL/Proxy(Skype)DALAPIJava:HibernateShard,Ibatis Shard,HiveDBPython: Pyshardsshard改變變數(shù)據(jù)庫(kù)庫(kù)設(shè)計(jì)盡量避免免join數(shù)據(jù)冗余余/反范范式數(shù)據(jù)冗余余 forshardshardbeforec
4、omment(id,blog_id,content)shardaftercomment(id,blog_id,content,user_id)數(shù)據(jù)分區(qū)區(qū)策略水平分區(qū)區(qū)2 *N(如定單單,購(gòu)買(mǎi)買(mǎi)者與網(wǎng)網(wǎng)店各一一份)N /n(按日期或或ID范圍分區(qū)區(qū))hash(N) %n(按hash分)查找表垂直分區(qū)區(qū)按功能分分(論壇,博博客)消息隊(duì)列列(MessageQueue)程序解耦耦隔離消息的可可靠傳輸輸(物理理存儲(chǔ)中中轉(zhuǎn)消息息)ACBMQMQ消息總線線應(yīng)用場(chǎng)景景耗時(shí)操作作郵件發(fā)送送/短消息發(fā)發(fā)送日志程序解耦耦(A掛了,但但B繼續(xù)可以以使用)MQ產(chǎn)品品開(kāi)源RabbitMQ(Erlang)ActiveMQ(
5、JAVA)商業(yè)IBMMQWebLogicMQ回顧C(jī)AP及BASE可用性一致性分區(qū)容忍忍性負(fù)載均衡衡DNS負(fù)負(fù)載均衡衡反向代理理負(fù)載均均衡直接路由由.failoverDNS負(fù)負(fù)載均衡衡簡(jiǎn)單缺少靈活活性(DNS緩緩存)反向代理理負(fù)載均均衡負(fù)載均衡衡軟件nginxHAProxyapachehttpdLVS(網(wǎng)絡(luò)第四四層工作作)F5(硬件,四四層/七層)LinuxVirtual Server(LVS)網(wǎng)絡(luò)地址址轉(zhuǎn)換(NAT):VS-NATIP隧道道方式:VS-TUN直接路由由方式:VS-DR其它工作作模式Virtual ServerviaNAT(VS-NAT)用地址翻翻譯實(shí)現(xiàn)現(xiàn)虛擬服服務(wù)器。地址轉(zhuǎn)轉(zhuǎn)換
6、器有有能被外外界訪問(wèn)問(wèn)到的合合法IP地址,它它修改來(lái)來(lái)自專(zhuān)有有網(wǎng)絡(luò)的的流出包包的地址址。外界界看起來(lái)來(lái)包是來(lái)來(lái)自地址址轉(zhuǎn)換器器本身,當(dāng)外界界包送到到轉(zhuǎn)換器器時(shí),它它能判斷斷出應(yīng)該該將包送送到內(nèi)部部網(wǎng)的哪哪個(gè)節(jié)點(diǎn)點(diǎn)。優(yōu)點(diǎn)點(diǎn)是節(jié)省省IP地址,能能對(duì)內(nèi)部部進(jìn)行偽偽裝;缺缺點(diǎn)是效效率低,因?yàn)榉捣祷亟o請(qǐng)請(qǐng)求方的的流量經(jīng)經(jīng)過(guò)轉(zhuǎn)換換器。Virtual ServerviaIPTunneling(VS-TUN)用IP隧道技術(shù)術(shù)實(shí)現(xiàn)虛虛擬服務(wù)務(wù)器。這這種方式式是在集集群的節(jié)節(jié)點(diǎn)不在在同一個(gè)個(gè)網(wǎng)段時(shí)時(shí)可用的的轉(zhuǎn)發(fā)機(jī)機(jī)制,是是將IP包封裝在在其他網(wǎng)網(wǎng)絡(luò)流量量中的方方法。為為了安全全的考慮慮,應(yīng)該該使用隧隧道技術(shù)術(shù)中的
7、VPN,也可使使用租用用專(zhuān)線。 集群群所能提提供的服服務(wù)是基基于TCP/IP的Web服務(wù)、Mail服務(wù)、News服務(wù)、DNS服務(wù)、Proxy服務(wù)器等等等Virtual ServerviaDirect Routing(VS-DR)用直接路路由技術(shù)術(shù)實(shí)現(xiàn)虛虛擬服務(wù)務(wù)器。當(dāng)當(dāng)參與集集群的計(jì)計(jì)算機(jī)和和作為控控制管理理的計(jì)算算機(jī)在同同一個(gè)網(wǎng)網(wǎng)段時(shí)可可以用此此法,控控制管理理的計(jì)算算機(jī)接收收到請(qǐng)求求包時(shí)直直接送到到參與集集群的節(jié)節(jié)點(diǎn)。優(yōu)優(yōu)點(diǎn)是返返回給客客戶(hù)的流流量不經(jīng)經(jīng)過(guò)控制制主機(jī),速度快快開(kāi)銷(xiāo)少少。高可用性性使用雙機(jī)機(jī)熱備故障時(shí)切切換至備備份機(jī)工具(Linux-HA)heartbeat緩存讓數(shù)據(jù)更更靠近
8、用用戶(hù)本地緩存存節(jié)點(diǎn)有狀狀態(tài),狀狀態(tài)更新新需要同同步至其其它服務(wù)務(wù)器可以使用用組播方方式通知知數(shù)據(jù)改改變需要通知知的服務(wù)務(wù)器過(guò)多多會(huì)存在在性能問(wèn)問(wèn)題比遠(yuǎn)程緩緩存更高高性能慎用,不不具備可可伸縮性性ShareNothingArchitecture無(wú)共享架架構(gòu)數(shù)據(jù)緩存存(memchched)動(dòng)態(tài)內(nèi)容容緩存瀏覽器緩緩存數(shù)據(jù)緩存存分布式memchched基本滿(mǎn)足足大部分分性能要要求動(dòng)態(tài)內(nèi)容容緩存頁(yè)面片段段緩存靜態(tài)化內(nèi)內(nèi)容反向代理理緩存squid巨巨無(wú)霸Varnish反向代理理緩存Varnish 緩存存tomcatNginx負(fù)載載均衡靜態(tài)資源源分離img,js,css使用單單獨(dú)的服服務(wù)器處處理請(qǐng)求求ap
9、achehttpdtomcat瀏覽器靜態(tài)資源源靜態(tài)資源源動(dòng)態(tài)請(qǐng)求求動(dòng)態(tài)請(qǐng)求求動(dòng)態(tài)請(qǐng)示示動(dòng)態(tài)請(qǐng)示示現(xiàn)實(shí)網(wǎng)站站圖片存存儲(chǔ)分析析http:/img3.cache.http:/http:/http:/圖片服務(wù)務(wù)器的域域名不同同多臺(tái)機(jī)器器保存相相同的圖圖片(img3,img2子域名)同一頁(yè)面面不同圖圖片隨機(jī)機(jī)生成不不同的子子域名進(jìn)進(jìn)行負(fù)載載均衡CDN?ContentDeliveryNetwork瀏覽器優(yōu)優(yōu)化節(jié)省帶寬寬:js,css的靜態(tài)gzip壓縮http header:Content-Encoding:gzip瀏覽器緩緩存http header:Etag,Last-Modified小圖片,css,js合并js混淆淆工具Sessioncookie(強(qiáng)烈推推薦)集中式session memcached(推推薦)session復(fù)制(過(guò)多服服務(wù)器復(fù)復(fù)制存在在性能問(wèn)問(wèn)題)分布式文文件系統(tǒng)統(tǒng)MogileFSAutomaticfilereplicationNosinglepointoffailure自動(dòng)化總結(jié)CAP原則BASE策略異步(MessageQueue)數(shù)據(jù)庫(kù)數(shù)據(jù)的水水平切分分及垂直直切分?jǐn)?shù)據(jù)庫(kù)讀讀寫(xiě)分離離避免分布布式事務(wù)務(wù)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度臨時(shí)工物業(yè)管理及安保服務(wù)合同4篇
- 二零二五版開(kāi)發(fā)商與購(gòu)房者共有產(chǎn)權(quán)住房分時(shí)度假合同范本3篇
- 2025年度全麥面包磚出口貿(mào)易合同范本4篇
- 2025年度個(gè)人旅游行程居間代理合同范本4篇
- 2025年度煤礦自卸車(chē)升級(jí)改造項(xiàng)目合同3篇
- 2025版高端酒店客房升級(jí)改造施工承包合同4篇
- 2024版商務(wù)車(chē)租賃協(xié)議3篇
- 二零二五年航空航天裝備股東合作協(xié)議匯編3篇
- 2025年度自動(dòng)化碼頭運(yùn)輸設(shè)備租賃合同4篇
- 2025版模具行業(yè)特種技能用工合同規(guī)范范本4篇
- 《消防設(shè)備操作使用》培訓(xùn)
- 新交際英語(yǔ)(2024)一年級(jí)上冊(cè)Unit 1~6全冊(cè)教案
- 2024年度跨境電商平臺(tái)運(yùn)營(yíng)與孵化合同
- 2024年電動(dòng)汽車(chē)充電消費(fèi)者研究報(bào)告-2024-11-新能源
- 湖北省黃岡高級(jí)中學(xué)2025屆物理高一第一學(xué)期期末考試試題含解析
- 上海市徐匯中學(xué)2025屆物理高一第一學(xué)期期末學(xué)業(yè)水平測(cè)試試題含解析
- 稻殼供貨合同范本
- 《采氣樹(shù)基礎(chǔ)知識(shí)》課件
- 超齡員工用工免責(zé)協(xié)議書(shū)
- 機(jī)械工程師招聘筆試題及解答(某大型國(guó)企)
- 軟件運(yùn)維考核指標(biāo)
評(píng)論
0/150
提交評(píng)論