CDN网站加速技术
什么是CDN?
CDN(Content Delivery Network 內(nèi)容分發(fā)網(wǎng)絡(luò))技術(shù)通過在各個地區(qū)部署緩存節(jié)點加速用戶對靜態(tài)資源的獲取速度,提升用戶體驗,降低運營成本。CDN公司有網(wǎng)宿(ChinaNet)、藍(lán)訊(ChinaCache)等
CDN的基本架構(gòu)和訪問流程
企業(yè)使用CDN的準(zhǔn)備: 1.靜態(tài)資源有獨立的域名 2.刪除授權(quán)DNS服務(wù)器A記錄,添加CNAME記錄 3.在CDN后臺進(jìn)行域名綁定 用戶訪問CDN的過程: 1.用戶查詢本地DNS緩存,本地沒有則請求LDNS查詢,LDNS本地沒有緩存則請求授權(quán)DNS解析; 2.授權(quán)DNS返回CNAME記錄; 3.LDNS請求CDN公司的智能DNS系統(tǒng)解析CNAME別名; 4.智能DNS返回A記錄,LDNS返回IP給用戶; 5.用戶根據(jù)IP請求靜態(tài)資源,Cache節(jié)點本地有緩存則返回資源; 6.若Cache節(jié)點本地?zé)o緩存則請求源站,源站返回資源后Cache節(jié)點再返回給用戶。 簡單概括:用戶通過兩輪DNS查詢獲得IP,訪問Cache節(jié)點獲得資源。CDN實現(xiàn)的核心技術(shù)
1.DNS視圖技術(shù): DNS視圖技術(shù),就是對同一個域名根據(jù)請求來源(LDNS)IP地址的不同返回不同的解析結(jié)果。 #BIND視圖技術(shù)(DNS View) #定義用戶來源 vim public.defacl "SD_CTC" { 58.56.0.0/15; 58.58.0.0/16; 60.235.0.0/16; 123.168.0.0/14; ... }#匹配IP來源,設(shè)置不同域名解析文件 vim view.def include "public.def"; view "view_SD_CTC" { match-clients { SD_CTC; }; zone "cache.com" IN { type master; file "zone/cache.zone"; } }vim named.confinclude view.def; 2.CDN集群緩存和代理技術(shù) LVS負(fù)載均衡使用DR模式達(dá)到高并發(fā)高吞吐量,同時屏蔽后面的Nginx反向代理服務(wù)器; Nginx使用反向代理(Upstream)功能,采用url_hash方式分發(fā)流量,提高緩存的命中率同時節(jié)約緩存空間; Squid緩存服務(wù)器根據(jù)HTTP協(xié)議中有關(guān)緩存設(shè)置的規(guī)定,實現(xiàn)對頁面和資源進(jìn)行緩存以及對源站的代理。關(guān)于HTTP頭部信息中的緩存規(guī)則,下次有機會再單獨聊。轉(zhuǎn)載于:https://www.cnblogs.com/Peter2014/p/7551905.html
總結(jié)
- 上一篇: (WPF)酷狗音乐播放器
- 下一篇: 三盘惠普双循环的磁盘阵列恢复