![高并發(fā)網(wǎng)站架構(gòu)設(shè)計(jì)方案_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/21/3e1bfcc6-203e-474b-a5a6-1bf858fcea16/3e1bfcc6-203e-474b-a5a6-1bf858fcea161.gif)
![高并發(fā)網(wǎng)站架構(gòu)設(shè)計(jì)方案_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/21/3e1bfcc6-203e-474b-a5a6-1bf858fcea16/3e1bfcc6-203e-474b-a5a6-1bf858fcea162.gif)
![高并發(fā)網(wǎng)站架構(gòu)設(shè)計(jì)方案_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/21/3e1bfcc6-203e-474b-a5a6-1bf858fcea16/3e1bfcc6-203e-474b-a5a6-1bf858fcea163.gif)
![高并發(fā)網(wǎng)站架構(gòu)設(shè)計(jì)方案_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/21/3e1bfcc6-203e-474b-a5a6-1bf858fcea16/3e1bfcc6-203e-474b-a5a6-1bf858fcea164.gif)
![高并發(fā)網(wǎng)站架構(gòu)設(shè)計(jì)方案_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/21/3e1bfcc6-203e-474b-a5a6-1bf858fcea16/3e1bfcc6-203e-474b-a5a6-1bf858fcea165.gif)
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、高并發(fā)網(wǎng)站架構(gòu)設(shè)計(jì)方案一、網(wǎng)頁(yè)HTML 靜態(tài)化:其實(shí)大家都知道網(wǎng)頁(yè)靜態(tài)化,效率最高,消耗最小的就是純靜態(tài)化的html頁(yè)面,所以我們盡可能使我們的網(wǎng)站上的頁(yè)面采用靜態(tài)頁(yè)面來(lái)實(shí)現(xiàn),這個(gè)最簡(jiǎn)單的方法其實(shí)也是最有效的方法,但是對(duì)于大量?jī)?nèi)容并且頻繁更新的網(wǎng)站,我們無(wú)法全部手動(dòng)去挨個(gè)實(shí)現(xiàn),于是出現(xiàn)了我們常見(jiàn)的信息發(fā)布系統(tǒng)CMS,像我們常訪問(wèn)的各個(gè)門(mén)戶(hù)站點(diǎn)的新聞?lì)l道,甚至他們的其他頻道,都是通過(guò)信息發(fā)布系統(tǒng)來(lái)管理和實(shí)現(xiàn)的,信息發(fā)布系統(tǒng)可以實(shí)現(xiàn)最簡(jiǎn)單的信息錄入自動(dòng)生成靜態(tài)頁(yè)面,還能具備頻道管理,權(quán)限管理,自動(dòng)抓取等功能,對(duì)于一個(gè)大型網(wǎng)站來(lái)說(shuō),擁有一套高效,可管理的 CMS 是必不可少的,除了門(mén)戶(hù)和信息發(fā)布類(lèi)型
2、的網(wǎng)站,對(duì)于交互性要求很高的社區(qū)類(lèi)型網(wǎng)站來(lái)說(shuō),盡可能的靜態(tài)化也是提高性能的必要手段,將社區(qū)內(nèi)的帖子,文章進(jìn)行實(shí)時(shí)的靜態(tài)化,有更新的時(shí)候再重新靜態(tài)化也是大量使用的策略,像 Mop 的大雜燴就是使用了這樣的策略,網(wǎng)易社區(qū)等也是如此同時(shí),html 靜態(tài)化也是某些緩存策略使用的手段,對(duì)于系統(tǒng)中頻繁使用數(shù)據(jù)庫(kù)查詢(xún)但是內(nèi)容更新很小的 應(yīng)用,可以考慮使用html 靜態(tài)化來(lái)實(shí)現(xiàn),比如論壇中論壇的公用設(shè)置信息 ,這些信息目前的主流論壇都可以進(jìn)行后臺(tái)管理并且存儲(chǔ)再數(shù)據(jù)庫(kù)中, 這些信息其實(shí)大量被前臺(tái)程序調(diào)用,但是更新頻率很小,可以 考慮將這部分內(nèi)容進(jìn)行后臺(tái)更新的時(shí)候進(jìn)行靜態(tài)化,這樣避免了大量的數(shù)據(jù)庫(kù)訪問(wèn)請(qǐng)求;二、圖
3、片服務(wù)器分離:對(duì) Web 服務(wù)器來(lái)說(shuō),不管是Apache,IIS 還是其他容器,圖片是最消耗資源的 ,于是我們有必要將圖片與頁(yè)面進(jìn)行分離,這是基本上大型網(wǎng)站都會(huì)采用的策略 ,他們都有獨(dú)立的圖片服務(wù)器,甚至很多臺(tái)圖片服務(wù)器,這樣的架構(gòu)可以降低提供頁(yè)面訪問(wèn)請(qǐng)求的服務(wù)器系統(tǒng)壓力,并且可以保證系統(tǒng)不會(huì)因?yàn)閳D片問(wèn)題而崩潰 ,在應(yīng)用服務(wù)器和圖片服務(wù)器上,可以進(jìn)行不同的配置優(yōu)化,比如 apache 在配置 ContentType 的時(shí)候可以盡量少支持,盡可能少的LoadModule, 保證更高的系統(tǒng)消耗和執(zhí)行效率;三、數(shù)據(jù)庫(kù)集群和庫(kù)表散列:大型網(wǎng)站都有復(fù)雜的應(yīng)用,這些應(yīng)用必須使用數(shù)據(jù)庫(kù),那么在面對(duì)大量訪問(wèn)的
4、時(shí)候,數(shù)據(jù)庫(kù)的瓶頸很快就能顯現(xiàn)出來(lái),這時(shí)一臺(tái)數(shù)據(jù)庫(kù)將很快無(wú)法滿(mǎn)足應(yīng)用,于是我們需要使用數(shù)據(jù)庫(kù)集群或者庫(kù)表散列,在數(shù)據(jù)庫(kù)集群方面, 很多數(shù)據(jù)庫(kù)都有自己的解決方案, Oracle, Sybase 等都有很好的方案,常用的MySQL 提供的Master/Slave 也是類(lèi)似的方案,您使用了什么樣的 DB,就參考相應(yīng)的解決方案來(lái)實(shí)施即可,上面提到的數(shù)據(jù)庫(kù)集群由于在架構(gòu),成本,擴(kuò)張性方面都會(huì)受到所采用 DB 類(lèi)型的限制,于是我們需要從應(yīng)用程序的角度來(lái)考慮改善系統(tǒng)架構(gòu),庫(kù)表散列是常用并且最有效的解決方案,我們?cè)趹?yīng)用程序中安裝業(yè)務(wù)和應(yīng)用或者功能模塊將數(shù)據(jù)庫(kù)進(jìn)行分離,不同的模塊對(duì)應(yīng)不同的數(shù)據(jù)庫(kù)或者表,再按照一
5、定的策略 對(duì)某個(gè)頁(yè)面或者功能進(jìn)行更小的數(shù)據(jù)庫(kù)散列,比如用戶(hù)表,按照用戶(hù)ID 進(jìn)行表散列,這樣就能夠低成本的提升系統(tǒng)的性能并且有很好的擴(kuò)展性,sohu 的論壇就是采用了這樣的架構(gòu),將論壇的用戶(hù),設(shè)置,帖子等信息進(jìn)行數(shù)據(jù)庫(kù)分離,然后對(duì)帖子,用戶(hù)按照板塊和ID 進(jìn)行散列數(shù)據(jù)庫(kù)和表,最終可以在配置文件中進(jìn)行簡(jiǎn)單的配置便能讓系統(tǒng)隨時(shí)增加一臺(tái)低成本的數(shù)據(jù)庫(kù)進(jìn)來(lái)補(bǔ)充系統(tǒng)性能;四、緩存:緩存一詞搞技術(shù)的都接觸過(guò),很多地方用到緩存,網(wǎng)站架構(gòu)和網(wǎng)站開(kāi)發(fā)中的緩存也是非常重要,這里先講述最基本的兩種緩存,高級(jí)和分布式的緩存在后面講述,架構(gòu)方面的緩存,對(duì)Apache 比較熟悉的人都能知道Apache 提供了自己的緩存模
6、塊,也可以使用外加的Squid 模塊進(jìn)行緩存,這兩種方式均可以有效的提高Apache 的訪問(wèn)響應(yīng)能力,網(wǎng)站程序開(kāi)發(fā)方面的緩存,Linux 上提供的 Memory Cache 是常用的緩存接口,可以在 web 開(kāi)發(fā)中使用, 比如用Java 開(kāi)發(fā)的時(shí)候就可以調(diào)用MemoryCache 對(duì)一些數(shù)據(jù)進(jìn)行緩存和通訊共享一些大型社區(qū)使用了這樣的架構(gòu),另外 , 在使用 web 語(yǔ)言開(kāi)發(fā)的時(shí)候, 各種語(yǔ)言基本都有自己的緩存模塊和方法, PHP 有 Pear 的 Cache 模塊 ,Java 就更多了 ,net 不是很熟悉,相信也肯定有;五、鏡像:鏡像是大型網(wǎng)站常采用的提高性能和數(shù)據(jù)安全性的方式,鏡像的技術(shù)可以
7、解決 不 同網(wǎng) 絡(luò) 接入 商和地 域 帶來(lái) 的用 戶(hù) 訪問(wèn)速 度 差異 , 比如 ChinaNet 和 EduNet 之間的差異就促使了很多網(wǎng)站在教育網(wǎng)內(nèi)搭建鏡像站點(diǎn),數(shù)據(jù)進(jìn)行定時(shí)更新或者實(shí)時(shí)更新,在鏡像的細(xì)節(jié)技術(shù)方面,這里不闡述太深,有很多專(zhuān)業(yè)的現(xiàn)成的解決 架構(gòu)和產(chǎn)品可選,也有廉價(jià)的通過(guò)軟件實(shí)現(xiàn)的思路,比如Linux 上的rsync 等工具;六、負(fù)載均衡:負(fù)載均衡將是大型網(wǎng)站解決高負(fù)荷訪問(wèn)和大量并發(fā)請(qǐng)求采用的終極解決辦法,負(fù)載均衡技術(shù)發(fā)展了多年,有很多專(zhuān)業(yè)的服務(wù)提供商和產(chǎn)品可以選擇,我個(gè)人接觸過(guò)一些解決方法,其 中有兩個(gè)架構(gòu)可以給大家做參考;七、硬件四層交換硬件四層交換第四層交換使用第三層和
8、第四層信息包的報(bào)頭信息,根據(jù)應(yīng)用,將整個(gè)區(qū)間段的業(yè)務(wù)流分配到合適的應(yīng)用服務(wù)器進(jìn)行處理,第四層交換功能就象是虛IP,指向物理服務(wù)器,它傳輸?shù)臉I(yè)務(wù)服 從的協(xié)議多種多樣 ,有HTTP,FTP,NFS,Telnet 或其他協(xié)議,這些業(yè)務(wù)在物理服務(wù)器基礎(chǔ)上,需要復(fù)雜的載量平衡算法,在 IP 世界 ,業(yè)務(wù)類(lèi)型由終端TCP 或 UDP 端口地址來(lái)決定,在第四層交換中的應(yīng)用區(qū)間則由源端和終端IP 地址 ,TCP 和 UDP 端口共同決定, 在硬件四層交換產(chǎn)品領(lǐng)域,有一些知名的產(chǎn)品可以選擇,比如Alteon,F5等 ,這些產(chǎn)品很昂貴,但是物有所值,能夠提供非常優(yōu)秀的性能和很靈活的管理能力, Yahoo 中國(guó)當(dāng)初
9、接近2000 臺(tái)服務(wù)器使用了三四臺(tái) Alteon 就搞定了;八、軟件四層交換軟件四層交換大家知道了硬件四層交換機(jī)的原理后,基于 OSI 模型來(lái)實(shí)現(xiàn)的軟件四層交換也就應(yīng)運(yùn)而生,這樣的解決方案實(shí)現(xiàn)的原理一致,不過(guò)性能稍差,但是滿(mǎn)足一定量的壓力還是游刃有余的,有人說(shuō)軟件實(shí)現(xiàn)方式其實(shí)更靈活,處理能力完全看你配置的熟悉能力,軟件四層交換我們可以使用Linux 上常用的LVS 來(lái)解決 ,LVS 就是 Linux Virtual Server, 他提供了基于心跳線 heartbeat的實(shí)時(shí)災(zāi)難應(yīng)對(duì)解決方案,提高系統(tǒng)的魯棒性,同時(shí)可供了靈活的虛擬VIP 配置和管理功能 ,可以同時(shí)滿(mǎn)足多種應(yīng)用需求,這對(duì)于分布式
10、的系統(tǒng)來(lái)說(shuō)必不可少,一個(gè)典型的使用負(fù)載均衡的策略就是,在軟件或者硬件四層交換的基礎(chǔ)上搭建squid 集群,這種思路在很多大型網(wǎng)站包括搜索引擎上被采用,這樣的架構(gòu)低成本 ,高性能還有很強(qiáng)的擴(kuò)張性,隨時(shí)往架構(gòu)里面增減節(jié)點(diǎn)都非常容易,這樣的架構(gòu)我準(zhǔn)備空了專(zhuān)門(mén)詳細(xì)整理一下和大家探討,對(duì)于大型網(wǎng)站來(lái)說(shuō),前面提到的每個(gè)方法可能都會(huì)被同時(shí)使用到,我這里介紹得比較淺顯,具體實(shí)現(xiàn)過(guò)程中很多細(xì)節(jié)還需要大家慢慢熟悉和體會(huì),有時(shí)一個(gè)很小的squid 參數(shù)或者apache 參數(shù)設(shè)置 ,對(duì)于系統(tǒng)性能的影響就會(huì)很大,希望大家一起討論,達(dá)到拋磚引玉之效,用squid 做 web cache server, apache 在 squid 的后面提供真正的web 服務(wù), 而 當(dāng)然使用這樣的架構(gòu)必須要保證主頁(yè)上大部分都是靜態(tài)頁(yè)面,這就需要程序員的配合將頁(yè)面在反饋給客戶(hù)端之前將頁(yè)面全部轉(zhuǎn)換成靜態(tài)頁(yè)面,基本看出 sina 和 sohu 對(duì)于頻道等欄目都用了相同的技術(shù),即squid 來(lái)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)生產(chǎn)項(xiàng)目管理與風(fēng)險(xiǎn)控制作業(yè)指導(dǎo)書(shū)
- 營(yíng)銷(xiāo)人的選書(shū)與讀書(shū)
- 2025年延邊貨運(yùn)從業(yè)資格證考試題庫(kù)答案
- 小學(xué)三年級(jí)上冊(cè)數(shù)學(xué)口算題100題
- 小學(xué)二年級(jí)數(shù)學(xué)下學(xué)期口算練習(xí)
- 2025年湖北交通運(yùn)輸從業(yè)資格證怎樣考試
- 2025年昆明貨運(yùn)從業(yè)資格考試技巧
- 電力行業(yè)合作協(xié)議(2篇)
- 湘教版數(shù)學(xué)八年級(jí)上冊(cè)1.2《分式的乘方》聽(tīng)評(píng)課記錄2
- 2024-2025學(xué)年新教材高中歷史第一單元從中華文明起源到秦漢統(tǒng)一多民族封建國(guó)家的建立與鞏固單元優(yōu)化提升鏈接學(xué)考含解析新人教版必修中外歷史綱要上
- 2024-2025年中國(guó)專(zhuān)網(wǎng)通信行業(yè)市場(chǎng)前景預(yù)測(cè)及投資戰(zhàn)略研究報(bào)告
- 二零二五年度能源行業(yè)員工勞動(dòng)合同標(biāo)準(zhǔn)范本3篇
- 2024年石柱土家族自治縣中醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫(kù)頻考點(diǎn)附帶答案
- 西藏事業(yè)單位c類(lèi)歷年真題
- 2025中國(guó)移動(dòng)安徽分公司春季社會(huì)招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 七年級(jí)英語(yǔ)下學(xué)期開(kāi)學(xué)考試(深圳專(zhuān)用)-2022-2023學(xué)年七年級(jí)英語(yǔ)下冊(cè)單元重難點(diǎn)易錯(cuò)題精練(牛津深圳版)
- 2025江蘇省全日制勞動(dòng)合同書(shū)范本
- 部編版語(yǔ)文小學(xué)二年級(jí)下冊(cè)第一單元集體備課(教材解讀)
- 放射科護(hù)理常規(guī)
- 儒釋道文化秒解
- 新時(shí)代中小學(xué)教師職業(yè)行為十項(xiàng)準(zhǔn)則
評(píng)論
0/150
提交評(píng)論