一文瞭解什麼是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其它相關文章!

推薦閱讀: