資源描述:
《cdn設(shè)計(jì)實(shí)現(xiàn)及負(fù)載勻衡》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、CDN設(shè)計(jì)實(shí)現(xiàn)及負(fù)載均衡解決高并發(fā)訪問(wèn)及緩存加速的一種途徑需求的產(chǎn)生南北互聯(lián)問(wèn)題導(dǎo)致北方的用戶訪問(wèn)電信網(wǎng)內(nèi)的服務(wù)器十分緩慢和艱難,南方的用戶訪問(wèn)網(wǎng)通網(wǎng)內(nèi)的服務(wù)器也是如此高并發(fā)、大流量的站點(diǎn)訪問(wèn)加速nginx承擔(dān)每個(gè)機(jī)房Web負(fù)載均衡服務(wù)簡(jiǎn)單的Nginx負(fù)載均衡配置①……upstreambbs_server_pool{server192.168.1.15:80weight=1max_fails=2fail_timeout=30s;server192.168.1.16:80weight=1max_fail
2、s=2fail_timeout=30s;server192.168.1.17:80weight=1max_fails=2fail_timeout=30s;server192.168.1.18:80weight=1max_fails=2fail_timeout=30s;}……在nginx.conf配置文件中,用upstream指令定義一組反向代理/負(fù)載均衡后端服務(wù)器池。簡(jiǎn)單的Nginx負(fù)載均衡配置②……server{listen80;server_namebbs.yourdomain.com*.bbs.
3、yourdomain.com;location/{proxy_passhttp://bbs_server_pool;proxy_set_headerHost$host;proxy_set_headerX-Forwarded-For$remote_addr;}access_logoff;}……簡(jiǎn)單的Nginx負(fù)載均衡配置③proxy_passhttp://bbs_server_pool;用于指定反向代理的服務(wù)器池。proxy_set_headerHost$host;當(dāng)后端Web服務(wù)器上也配置有多個(gè)虛擬主
4、機(jī)時(shí),需要用該Header來(lái)區(qū)分反向代理哪個(gè)主機(jī)名。proxy_set_headerX-Forwarded-For$remote_addr;如果后端Web服務(wù)器上的程序需要獲取用戶IP,請(qǐng)從該Header頭獲取。Nginx負(fù)載均衡雙機(jī)互備正常情況下,兩臺(tái)Nginx負(fù)載均衡服務(wù)器全部處于活動(dòng)狀態(tài),對(duì)外提供服務(wù)。Squid反向代理加速網(wǎng)站Squid反向代理的實(shí)現(xiàn)原理客戶端請(qǐng)求訪問(wèn)WEB服務(wù)時(shí),DNS將訪問(wèn)的域名解析為Squid反向代理服務(wù)器的IP地址,這樣客戶端的URL請(qǐng)求將被發(fā)送到反向代理服務(wù)器。如果S
5、quid反向代理服務(wù)器中緩存了該請(qǐng)求的資源,則將該請(qǐng)求的資源直接返回給客戶端,否則反向代理服務(wù)器將向后臺(tái)的WEB服務(wù)器請(qǐng)求資源,然后將請(qǐng)求的應(yīng)答返回給客戶端,同時(shí)也將該應(yīng)答緩存在本地,供下一個(gè)請(qǐng)求者使用。配置的系統(tǒng)環(huán)境:一臺(tái)DNS服務(wù)器:操作系統(tǒng)Freebsd,軟件BIND9.5,IP192.168.76.222;三臺(tái)Squid服務(wù)器:操作系統(tǒng)LinuxAS4,軟件Squid3.0,相應(yīng)的IP如下:Squid1:192.168.76.223Squid2:192.168.76.224Squid3:192
6、.168.76.225三臺(tái)WEB服務(wù)器:操作系統(tǒng)LinuxAS4,應(yīng)用軟件Tomcat5.0+Mysql,相應(yīng)的IP地址如下:webServer1:210.82.118.195webServer2:192.168.76.226webServer1:192.168.76.227配置Squid1服務(wù)器#####配置squid2、squid3為其鄰居,當(dāng)squid1在其緩存中沒(méi)有找到請(qǐng)求的資源時(shí),通過(guò)ICP查詢?nèi)テ溧従又腥〉镁彺鎐ache_peersquid2.ibm.com.cnsibling803130
7、cache_peersquid3.ibm.com.cnsibling803130#####squid1的三個(gè)父節(jié)點(diǎn),originserver參數(shù)指明是源服務(wù)器,round-robin參數(shù)指明squid通過(guò)輪詢方式將請(qǐng)求分發(fā)到其中一臺(tái)父節(jié)點(diǎn);squid同時(shí)會(huì)對(duì)這些父節(jié)點(diǎn)的健康狀態(tài)進(jìn)行檢查,如果父節(jié)點(diǎn)down了,那么squid會(huì)從剩余的origin服務(wù)器中抓取數(shù)據(jù)cache_peer210.82.118.195parent80800no-queryoriginserverround-robinname=w
8、ebServer1cache_peer192.168.76.226parent80800no-queryoriginserverround-robinname=webServer2cache_peer192.168.76.227parent80800no-queryoriginserverround-robinname=webServer3####將wenjin.cache.ibm.com.cn域的請(qǐng)求通過(guò)RR輪詢方式轉(zhuǎn)發(fā)到三個(gè)父節(jié)點(diǎn)中的一個(gè)cache_