淺談網(wǎng)站架構(gòu)設(shè)計課件_第1頁
淺談網(wǎng)站架構(gòu)設(shè)計課件_第2頁
淺談網(wǎng)站架構(gòu)設(shè)計課件_第3頁
淺談網(wǎng)站架構(gòu)設(shè)計課件_第4頁
淺談網(wǎng)站架構(gòu)設(shè)計課件_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、淺談網(wǎng)站架構(gòu)設(shè)計 2022-3-2411ChinaUnix技術(shù)沙龍2022-3-242網(wǎng)站架構(gòu)是件藝術(shù)活兒,要網(wǎng)站架構(gòu)是件藝術(shù)活兒,要求架構(gòu)師熟悉網(wǎng)絡(luò)、系統(tǒng)、求架構(gòu)師熟悉網(wǎng)絡(luò)、系統(tǒng)、代碼、數(shù)據(jù)庫,這些環(huán)節(jié)都代碼、數(shù)據(jù)庫,這些環(huán)節(jié)都很重要!很重要!2022-3-243百萬級、千萬級、億級,對程序、文件服務(wù)器、數(shù)據(jù)庫、網(wǎng)站架構(gòu)的要求都是不一樣的,我現(xiàn)在做的網(wǎng)站比較關(guān)注的有幾個方面的內(nèi)容,PV,UV,并發(fā),并發(fā)峰值。2022-3-244現(xiàn)在的負載均衡器的抗并發(fā)能力都很強,所以單純以這個值來衡量網(wǎng)站是完全不行的,你的前端的硬件F5能抗10萬并發(fā),但你后端的中間件或數(shù)據(jù)庫頂不住,這一切都是空談!2022

2、-3-245系統(tǒng)架構(gòu)師應(yīng)該要做的是提升站點整體的性能、可用性,不止是前端代理,后端應(yīng)用服務(wù)器、數(shù)據(jù)庫、中間件等,都要綜合考慮。這個架構(gòu)里任何一個點存在瓶頸,整體系統(tǒng)處理能力就大打折扣,我們不要讓它們之一形成短板效應(yīng)。2022-3-246我們應(yīng)該盡量做到以下幾點我們應(yīng)該盡量做到以下幾點:一、保證高可用;二、保證一、保證高可用;二、保證高可擴展性;三、盡量把用高可擴展性;三、盡量把用戶往外面推,保證源服務(wù)器戶往外面推,保證源服務(wù)器的壓力小。的壓力小。2022-3-247下面我以現(xiàn)在手上負責(zé)的二個網(wǎng)站來說明下今天的主題一個是以百萬級PV訪問量設(shè)計的,另一個是千萬級PV訪問量設(shè)計的。2022-3-24

3、82022-3-2492022-3-2410如果有硬件防火墻,主機本身的iptalbes可以關(guān)掉;如果沒有硬件防火墻,建議開啟系統(tǒng)本身的 iptalbes,一個防火墻規(guī)則如下:#!/bin/bashiptables -Fiptables -F -t natiptables -Xiptables -P INPUT DROPiptables -P OUTPUT ACCEPT#load connection-tracking modulesmodprobe iptable_natmodprobe ip_conntrack_ftpmodprobe ip_nat_ftpiptables -A INPUT

4、 -s 9 -j ACCEPTiptables -A INPUT -s 1 -j ACCEPTiptables -A INPUT -s 51 -j ACCEPTiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPTiptables -A INPUT -m state -state ESTABLISHED,RELATED -j ACCEPTiptables -A OUTPUT -m state -state ESTABLISHED,RELATED

5、 -j ACCEPT iptables -A INPUT -p tcp -m multiport -dport 80,22 -j ACCEPTiptables -A INPUT -p icmp -icmp-type echo-request -m limit -limit 1/s -limit-burst 5 -j ACCEPTiptables -A INPUT -p icmp -icmp-type echo-request -j DROPiptables -N syn-floodiptables -A syn-flood -m limit -limit 100/s -limit-burst

6、150 -j RETURNiptables -A syn-flood -j DROPiptables -I INPUT -j syn-flood 2022-3-2411機房的選擇盡量選擇BGP機房,雙線次之。網(wǎng)站前端一定要放置硬件防火墻,國內(nèi)的DDOS攻擊非常流行的。防火墻的模式我們可以選擇路由和透明二種,根據(jù)具體環(huán)境而定。 2022-3-2412防火墻我一般是選擇用華賽或JUNIPER系列,近期考慮用金盾。2022-3-2413負載均衡器的選擇根據(jù)它們的特點來挑選即可,LVS的性能最好的,特別是后端的節(jié)點超過10個以上時,但它對網(wǎng)絡(luò)的要求高,而且不能做動靜分離,所以我建議將其作為數(shù)據(jù)庫的負載

7、均衡。2022-3-2414HAProxy性能優(yōu)異,穩(wěn)定性強,自帶強大的監(jiān)控頁面,并且支持動靜分離,我們已用HAProxy+Keepalived實現(xiàn)了億級/日的網(wǎng)站,所以這里也向大家推薦!2022-3-2415現(xiàn)在很多朋友參考淘寶的架構(gòu),說最前端一定要放四層負載均衡,這個其實是針對淘寶這種巨量級別(十幾億PV/日)的,我們的網(wǎng)站一般用HAProxy/Nginx+Keepalived基本可以滿足的需求。2022-3-2416Apache作為PHP服務(wù)器,用于電子商務(wù)/電子廣告網(wǎng)站非常穩(wěn)定的,在8G內(nèi)存的標(biāo)準(zhǔn)配置下,抗并發(fā)能力也是非常不錯的,并非只有Nginx這一種選擇;其實很多集群環(huán)境都是由最原

8、先的一臺Apache Web服務(wù)器發(fā)展起來的(公司要求平滑升級)。2022-3-2417再說下文件服務(wù)器層,由于網(wǎng)站的后期宣傳策話,名氣也越來越大,PV值也越來越高,原先的DRBD+Heartbeat+NFS已經(jīng)越來越頂不住壓力了,這時候我們可以在NFS前面增加一層反向代理緩存。2022-3-2418Squid文件緩存層主要是用來減輕我們后端NFS文件服務(wù)器的壓力。2022-3-2419另外,分布式文件存儲MFS或GlusterFS現(xiàn)在也是很流行的趨勢,它們在緩減文件層的壓力方面性能表現(xiàn)優(yōu)異。2022-3-2420真正的像淘寶級的網(wǎng)站,都是自己開發(fā)分布式文件系統(tǒng),如淘寶的TFS和豆瓣的DouB

9、anFS。2022-3-2421session共享我們可以用memcached來實現(xiàn),其實負載均衡器自身都帶了算法,能夠?qū)崿F(xiàn)會話保持,比如HAProxy的balacn source,再比如Nginx的ip_hash;其實在大型網(wǎng)站里,一般要求有會話的功能比較少,比如廣告類網(wǎng)站。2022-3-2422個人感覺數(shù)據(jù)庫這一層是制約整個網(wǎng)站性能比較關(guān)鍵的一環(huán),我們應(yīng)該如何設(shè)計和架構(gòu)此層呢?2022-3-2423數(shù)據(jù)庫的壓力應(yīng)該如何來減減輕呢?一、增加數(shù)據(jù)庫緩存,比如memcached或redis;二、將前后臺分離出來,針對二、將前后臺分離出來,針對性后臺的查詢我們?nèi)哭D(zhuǎn)到性后臺的查詢我們?nèi)哭D(zhuǎn)到slave機器上去,這樣的話不機器上去,這樣的話不影響主要業(yè)務(wù)邏輯。影響主要業(yè)務(wù)邏輯。2022-3-2424對網(wǎng)站的邏輯數(shù)據(jù)庫,如對網(wǎng)站的邏輯數(shù)據(jù)庫,如www、bbs、blog等,進行等,進行

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論