版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、網(wǎng)站都是從小網(wǎng)站一步一步發(fā)展為大型網(wǎng)站的, 而這之中的挑戰(zhàn)主要來自于龐大 的用戶、安全環(huán)境惡劣、高并發(fā)的訪問和海量的數(shù)據(jù),任何簡單的業(yè)務(wù)處理,一 旦需要處理數(shù)以P計(jì)的數(shù)據(jù)和面對(duì)數(shù)以億計(jì)的用戶時(shí),問題就會(huì)變的很棘手F面我們就來說說這個(gè)演變過程:初始階段大型網(wǎng)站都是由小型網(wǎng)站演變而來的,網(wǎng)站 架構(gòu)也樣小型網(wǎng)站最開始沒有太多人訪問,只需要一臺(tái)服務(wù)器就綽綽有余,就像這樣:應(yīng)用程序、數(shù)據(jù)庫、文件等所有資源都在一臺(tái)服務(wù)器上,通常使用Linux PHPMySQlApache就可以完成整個(gè)項(xiàng)目部署,然后再買個(gè)域名,租一個(gè)廉價(jià)的服務(wù) 器就可以開始我們的網(wǎng)站之旅了應(yīng)用服務(wù)與數(shù)據(jù)服務(wù)分離應(yīng)用隨著業(yè)務(wù)的發(fā)展,逐漸的一
2、臺(tái)服務(wù)器已經(jīng)不能滿足需求,這時(shí)我們可以將 與數(shù)據(jù)分離 分離之后我們使用到三臺(tái)服務(wù)器:應(yīng)用服務(wù)器、文件服務(wù)器和數(shù)據(jù)庫服務(wù)器,如 下所示:對(duì)于這三臺(tái)服務(wù)器要求各不相同:?應(yīng)用服務(wù)器 要處理大量的業(yè)務(wù)邏輯,所以需要更好更快更強(qiáng)大的 CPU?數(shù)據(jù)庫服務(wù)器需要快速的進(jìn)行磁盤檢索和數(shù)據(jù)緩存,因此需要更 快的硬盤和更大的內(nèi)存?文件服務(wù)器需要存儲(chǔ)用戶上傳的文件資源,因此需要更大的硬盤 存儲(chǔ)空間應(yīng)用與數(shù)據(jù)分離后,各個(gè)的職責(zé)變得更加專一,網(wǎng)站的性能得到進(jìn)一步的提升, 但隨著用戶的繼續(xù)增加,我們需要對(duì)網(wǎng)站架構(gòu)進(jìn)一步優(yōu)化使用緩存改善,陰臺(tái)匕性冃匕網(wǎng)站的訪問一樣遵循二八定律:80%的業(yè)務(wù)訪問集中在20%的數(shù)據(jù)上面因此我
3、們要對(duì)這一小部分的數(shù)據(jù)進(jìn)行緩存來減輕數(shù)據(jù)庫的訪問壓力,以提高整個(gè)網(wǎng)站的數(shù)據(jù)訪問速度,改善數(shù)據(jù)庫的讀寫性能 網(wǎng)站的緩存可以分為兩種:緩存在應(yīng)用服務(wù)器上的本地緩存和緩存在專門的分布 式緩存服務(wù)器上的遠(yuǎn)程緩存?本地緩存 的訪問速度會(huì)快一些,但是受應(yīng)用服務(wù)器內(nèi)存限制,緩 存數(shù)據(jù)量很有限,而且會(huì)出現(xiàn)內(nèi)存爭用的情況?遠(yuǎn)程分布式緩存 可以使用集群的方式,部署大內(nèi)存的服務(wù)器作為 專門的緩存服務(wù)器,可以在理論上做到不受內(nèi)存容量限制的緩存服 務(wù)如下所示:但單一的應(yīng)用服務(wù)器能夠處理的使用緩存后,數(shù)據(jù)訪問壓力得到了有效的緩解,請(qǐng)求連接數(shù)有限,在訪問的高峰期,應(yīng)用服務(wù)器又會(huì)成為網(wǎng)站性能的瓶頸使用應(yīng)用服務(wù)器集群改善網(wǎng)站并
4、發(fā)處理 能力、|/使用集群是網(wǎng)站解決高并發(fā),海量數(shù)據(jù)問題的常用手段,當(dāng)你縱向提升到一定程 度后,那就該開始橫向提升了 當(dāng)一臺(tái)服務(wù)器的處理能力不足時(shí),與其換一臺(tái)更強(qiáng)大的服務(wù)器,不如增加一臺(tái)服 務(wù)器去分擔(dān)原有的服務(wù)器壓力。對(duì)于大型網(wǎng)站而言,無論多么強(qiáng)大的服務(wù)器,都 滿足不了持續(xù)增長的業(yè)務(wù)需求,更高效的方式就是增加服務(wù)器來分擔(dān)壓力對(duì)于網(wǎng)站架構(gòu)而言,如果增添一臺(tái)新的服務(wù)器可以改善負(fù)載壓力, 那么就可以使 用同樣的方式來應(yīng)對(duì)源源不斷的業(yè)務(wù)需求,從而實(shí)現(xiàn)系統(tǒng)的可伸縮性通過負(fù)載均衡調(diào)度服務(wù)器,可以將用戶請(qǐng)求分發(fā)到應(yīng)用服務(wù)器集群里的任何一臺(tái) 服務(wù)器上,如果有更多的用戶,可以增加更多的應(yīng)用服務(wù)器,使應(yīng)用服務(wù)器的
5、負(fù) 載壓力不再成為網(wǎng)站的性能問題數(shù)據(jù)庫讀寫分離在使用了緩存后,大多數(shù)的操作不經(jīng)過數(shù)據(jù)庫訪問就能完成, 但仍有一部分讀操 作(緩存訪問未命中,緩存過期)和所有的寫操作需要訪問數(shù)據(jù)庫,在網(wǎng)站的用 戶量達(dá)到一定時(shí),數(shù)據(jù)庫的負(fù)載問題就來了厶 口,目前大多數(shù)的數(shù)據(jù)庫都支持主從熱備份, 通過配置兩臺(tái)服務(wù)器的主從關(guān)系,可以 將一臺(tái)數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)更新同步到另一臺(tái), 網(wǎng)站利用這一功能,實(shí)現(xiàn)數(shù)據(jù)庫 讀寫分離,從而進(jìn)一步改善數(shù)據(jù)庫負(fù)載壓力應(yīng)用服務(wù)器在寫操作的時(shí)候,訪問主數(shù)據(jù)庫,主數(shù)據(jù)庫通過主從復(fù)制機(jī)制把數(shù)據(jù) 同步更新到從數(shù)據(jù)庫,這樣當(dāng)應(yīng)用服務(wù)器進(jìn)行讀操作的時(shí)候, 就能訪問從數(shù)據(jù)庫 獲取數(shù)據(jù)使用反向代理和CDN加
6、速網(wǎng)站響應(yīng)CDN和 反向代理 的基本原理都是緩存? CDN部署在網(wǎng)絡(luò)供應(yīng)商的機(jī)房,用戶在進(jìn)行請(qǐng)求時(shí),會(huì)從距離最近 的網(wǎng)絡(luò)供應(yīng)商機(jī)房獲取數(shù)據(jù)?反向代理貝喑E署在中心機(jī)房,當(dāng)用戶請(qǐng)求到達(dá)中心機(jī)房后,會(huì)首 先訪問反向代理服務(wù)器,如果反向代理服務(wù)器中緩存這用戶請(qǐng)求的 資源,就直接返回給用戶使用CDN和 反向代理 都是為了盡快返回給用戶數(shù)據(jù),一方面加快用戶訪問速 度,另一方面也減輕了后端服務(wù)器的壓力使用分布式文件系統(tǒng)和分布式數(shù)據(jù)庫系隨著網(wǎng)站業(yè)務(wù)的繼續(xù)發(fā)展,這時(shí)候就可以像分布式應(yīng)用服務(wù)器一樣, 對(duì)數(shù)據(jù)庫系 統(tǒng)和文件系統(tǒng)進(jìn)行分布式管理 分布式數(shù)據(jù)庫 是網(wǎng)站數(shù)據(jù)庫拆分的最后手段,一般我們可以采取業(yè)務(wù)分庫,根
7、據(jù)不同業(yè)務(wù)的數(shù)據(jù)庫部署在不同的數(shù)據(jù)庫服務(wù)器上使用NoSQL和搜索引擎這兩個(gè)方式都是依賴于互聯(lián)網(wǎng)的技術(shù)手段, 應(yīng)用服務(wù)器通過一個(gè)統(tǒng)一的數(shù)據(jù)訪問 模塊來訪問各種數(shù)據(jù),從而減輕應(yīng)用程序有多個(gè)數(shù)據(jù)源的麻煩E莎Tt曬吾3,汽e 用 RFFdS.拓"科3:FlSfittiRS號(hào)3i/H-nn 衣IO«i*Z«牌靜/ZHo60l1<B駅*V毎St=*対*曲掙n掙fifimsTti斯 iUtKHOA L廿琦虞iifl區(qū)目lit'-aftavf _甘斬衣BVC*奇3*業(yè)務(wù)拆分對(duì)于大型網(wǎng)站,我們可以分而治之,把整個(gè)網(wǎng)站的業(yè)務(wù)分為不同的模塊, 比如大 型的交易購物完整可以
8、分為首頁、店鋪、訂單、買家等,分別交給不同的業(yè)務(wù)團(tuán) 隊(duì)來負(fù)責(zé) 同時(shí)我們將一個(gè)網(wǎng)站根據(jù)模塊劃分拆分成多個(gè)應(yīng)用,每個(gè)應(yīng)用進(jìn)行單獨(dú)的部署和 維護(hù),應(yīng)用之間通過超鏈接建立關(guān)系(指向不同的應(yīng)用地址),最后通過相同的 數(shù)據(jù)存儲(chǔ)系統(tǒng)來構(gòu)成一個(gè)互相關(guān)聯(lián)的完整系統(tǒng)分布式服務(wù)隨著業(yè)務(wù)拆分,整個(gè)系統(tǒng)越來越大,應(yīng)用的整體復(fù)雜度呈指數(shù)級(jí)增加,部署維護(hù) 越來越困難,并且所有的應(yīng)用服務(wù)器都要與數(shù)據(jù)庫服務(wù)連接, 在數(shù)萬臺(tái)服務(wù)器 規(guī)模的情況下,這些連接的數(shù)目是服務(wù)器規(guī)模的平方,導(dǎo)致資源不足 這時(shí)候就要對(duì)相同的業(yè)務(wù)進(jìn)行提取,獨(dú)立部署,把這些可重用的業(yè)務(wù)和連接數(shù)據(jù) 庫等,提取出來作為公共業(yè)務(wù)服務(wù),而應(yīng)用系統(tǒng)只需要通過分布式服務(wù)訪問公共 業(yè)務(wù)服務(wù)完成業(yè)務(wù)操作kCOMMS I4;*«求*超VKftl宜可爭31GN丸v»ai 1I "AM »-fl/ 1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版寧波房地產(chǎn)糾紛調(diào)解合同范本4篇
- 2025年度苗木種植基地土地流轉(zhuǎn)與農(nóng)業(yè)保險(xiǎn)合同4篇
- 二零二五年度建筑周轉(zhuǎn)材料租賃管理及服務(wù)合同2篇
- 2025年度鋼材市場(chǎng)拓展與營銷服務(wù)合同
- 二零二五年度門衛(wèi)智能識(shí)別系統(tǒng)采購合同4篇
- 二零二五年度內(nèi)外墻抹灰工程安全質(zhì)量監(jiān)督合同
- 2025年度個(gè)人向小額貸款公司借款合同范本2篇
- 2025年度企業(yè)員工績效獎(jiǎng)金聘用合同
- 2025年度電子商務(wù)平臺(tái)銷售人員聘用及培訓(xùn)合同
- 2025年度個(gè)人娛樂設(shè)施租賃合同4篇
- 高考滿分作文常見結(jié)構(gòu)完全解讀
- 理光投影機(jī)pj k360功能介紹
- 六年級(jí)數(shù)學(xué)上冊(cè)100道口算題(全冊(cè)完整版)
- 八年級(jí)數(shù)學(xué)下冊(cè)《第十九章 一次函數(shù)》單元檢測(cè)卷帶答案-人教版
- 帕薩特B5維修手冊(cè)及帕薩特B5全車電路圖
- 系統(tǒng)解剖學(xué)考試重點(diǎn)筆記
- 小學(xué)五年級(jí)解方程應(yīng)用題6
- 云南省地圖含市縣地圖矢量分層地圖行政區(qū)劃市縣概況ppt模板
- 年月江西省南昌市某綜合樓工程造價(jià)指標(biāo)及
- 作物栽培學(xué)課件棉花
評(píng)論
0/150
提交評(píng)論