一文瞭解什麼是CDN及實現原理
正文
由於用戶訪問源站業務有性能瓶頸,通過cdn技術把源站的內容緩存到多個節點。用戶向源站域名發起請求時,請求會被調度至最接近用戶的服務節點,直接由服務節點直接快速響應,有效降低用戶訪問延遲,提升可用性。
由於用戶訪問源站業務有性能瓶頸,通過cdn技術把源站的內容緩存到多個節點。用戶向源站域名發起請求時,請求會被調度至最接近用戶的服務節點,直接由服務節點直接快速響應,有效降低用戶訪問延遲,提升可用性。
瞭解cdn需要先瞭解一下知識點:
1、dns解析原理
2、CNAME作用
dns解析流程
說再多也不如實際應用,讓我們從例子中瞭解dns解析流程
nslookup 是dns解析的命令,server 10.0.0.1是公司內部的dns服務器的ip. 139.196.3.197是請求域名的ip。
讓我們來一步步分析解析流程:
首先會查看本地緩存查詢是否有對應的域名解析ip。
1、沒有的情況下,向配置的dns服務器發起請求。(10.0.0.1為公司內部dns服務器ip)
2、Received 631 bytes from 10.0.0.1#53(10.0.0.1) in 54 ms — 10.0.0.1會返回根域名服務器的地址。(根域名服務器有多個,所以返回很多域名)
3、Received 1174 bytes from 202.12.27.33#53(m.root-servers.net) — 本機向根域名發起解析請求,根域名服務器返回.com頂級域名服務器地址。
4、Received 887 bytes from 192.42.93.30#53(g.gtld-servers.net) — 本機向com.域名服務器發起請求,返回moehot.com.域名服務器地址。
5、最後向moehot.com.域名發起請求得到www.moehot.com. 的ip地址。
騰訊雲cdn實例
假設您的業務源站域名為 www.test.com ,當域名接入 CDN 開始使用加速服務後,您的用戶發起 HTTP 請求,實際的處理流程如圖所示:
1、用戶向 www.test.com 下的某圖片資源,如 1.jpg 發起請求,先要向 Local DNS 發起域名解析請求;
2、當 Local DNS 解析 www.test.com 時,會發現已經配置瞭 CNAME,www.test.com.cdn.dnsv1.com,解析請求會發送至 Tencent DNS(GSLB),GSLB 為騰訊雲自主研發的調度體系,會為請求分配最佳節點 IP;
3、Local DNS 獲取 Tencent DNS 返回的解析 IP;
4、用戶測獲取解析 IP;
5、用戶向獲取的 IP 發起對資源 1.jpg 的訪問請求;
6、若該 IP 對應的節點緩存有 1.jpg,則會將數據直接返回給用戶(10),此時請求結束。若該節點未緩存 1.jpg,則節點會向業務源站發起對 1.jpg 的請求(6、7、8),獲取資源後,結合用戶自定義配置的緩存策略(可參考用戶指南中緩存時間設置章節內容),將資源存儲(9),並返回給用戶(10),此時請求結束。
以上就是CDN及實現原理的詳細內容,更多關於CDN實現原理的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- Golang 實現簡單隨機負載均衡
- 詳解PHP7開啟OPcache和Swoole性能的提升對比
- nginx服務器異常502 bad gateway原因排查
- 蘋果M1芯片安裝nginx 並且部署vue項目步驟詳解
- Linux中Nginx的防盜鏈和優化的實現代碼