日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CDN实现原理

發布時間:2024/9/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CDN实现原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

cdn簡介

由于用戶訪問源站業務有性能瓶頸,通過cdn技術把源站的內容緩存到多個節點。用戶向源站域名發起請求時,請求會被調度至最接近用戶的服務節點,直接由服務節點直接快速響應,有效降低用戶訪問延遲,提升可用性。

了解cdn需要先了解一下知識點:

  • dns解析原理
  • CNAME作用

dns解析流程

說再多也不如實際應用,讓我們從例子中了解dns解析流程

?

$ nslookup www.moehot.com Server: 10.0.0.1 Address: 10.0.0.1#53Non-authoritative answer: Name: www.moehot.com Address: 139.196.3.197

nslookup 是dns解析的命令,server 10.0.0.1是公司內部的dns服務器的ip. 139.196.3.197是請求域名的ip。

詳細的流程使用dig命令查看

?

$ dig +trace www.moehot.com ; <<>> DiG 9.9.4-RedHat-9.9.4-72.el7 <<>> +trace www.moehot.com ;; global options: +cmd . 518382 IN NS a.root-servers.net. . 518382 IN NS b.root-servers.net. . 518382 IN NS c.root-servers.net. . 518382 IN NS d.root-servers.net. . 518382 IN NS e.root-servers.net. . 518382 IN NS g.root-servers.net. . 518382 IN NS h.root-servers.net. . 518382 IN NS i.root-servers.net. . 518382 IN NS j.root-servers.net. . 518382 IN NS k.root-servers.net. . 518382 IN NS l.root-servers.net. . 518382 IN NS m.root-servers.net. . 518382 IN NS root1.sc163.net. . 518382 IN NS root2.sc163.net. . 518382 IN NS b.root-servers.net. . 518382 IN NS c.root-servers.net. . 518382 IN NS d.root-servers.net. . 518382 IN NS e.root-servers.net. . 518382 IN NS g.root-servers.net. . 518382 IN NS h.root-servers.net. . 518382 IN NS i.root-servers.net. . 518382 IN NS j.root-servers.net. . 518382 IN NS k.root-servers.net. . 518382 IN NS l.root-servers.net. . 518382 IN NS m.root-servers.net. . 518382 IN NS root1.sc163.net. . 518382 IN NS root2.sc163.net. . 518382 IN NS a.root-servers.net. ;; Received 631 bytes from 10.0.0.1#53(10.0.0.1) in 54 mscom. 172800 IN NS i.gtld-servers.net. com. 172800 IN NS a.gtld-servers.net. com. 172800 IN NS e.gtld-servers.net. com. 172800 IN NS k.gtld-servers.net. com. 172800 IN NS l.gtld-servers.net. com. 172800 IN NS g.gtld-servers.net. com. 172800 IN NS h.gtld-servers.net. com. 172800 IN NS d.gtld-servers.net. com. 172800 IN NS j.gtld-servers.net. com. 172800 IN NS f.gtld-servers.net. com. 172800 IN NS c.gtld-servers.net. com. 172800 IN NS m.gtld-servers.net. com. 172800 IN NS b.gtld-servers.net. com. 86400 IN DS 30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766 com. 86400 IN RRSIG DS 8 1 86400 20190224210000 20190211200000 16749 . owDDrAEA9JJUhzbHNnVNjPpqTqeJrWMScHU4Wskrp9gnkBKI8+1PeBfP 6uIUeVT+0w/Vcfh03p7mw0w5DS0ub8wQUfBTfY37s1MhE45fWueTyUGt l9aMEsma0UHZV1TL2njmDhgr7koN935hhjiSv26wymuBx5CpOvF2y7ql ih4JGsWPnHLrsfnqjq9njmP/3RQnpXrJDP/+reb5DTpdqLEf9TM/OHbt 1UpkG6rMUx4Jz53pIksji/CUfbYPiuH8FrUnVJ5thn0o+o2ZPpQqSisA 9C9dYDl1o75CDC3FShp56EjfeGmm6ncY8Kz5Irer1HUjOjiudN4cCjWU NnljsQ== ;; Received 1174 bytes from 202.12.27.33#53(m.root-servers.net) in 4386 msmoehot.com. 172800 IN NS dns9.hichina.com. moehot.com. 172800 IN NS dns10.hichina.com. CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN NSEC3 1 1 0 - CK0Q1GIN43N1ARRC9OSM6QPQR81H5M9A NS SOA RRSIG DNSKEY NSEC3PARAM CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN RRSIG NSEC3 8 2 86400 20190216054237 20190209043237 16883 com. ZpsxE9/jbJ0Ues0CJFIz9X5DvvsTgUlhLjpRIrQcXbo9z+avYuhL5O7J MxzY0KbxK2hGWK2q5zesaB+9ye1v7LuEVn8OzHtyjxGxjr7sXqWiU+0W 3lFK8q2EdNOulZJrmJ/nSZGNZ3aXRpeFWLD2LYs1Eipw5D6KmBAWAy/w xvE= HMIQOH986C2QQFJRPQJH18GTCL9922SH.com. 86400 IN NSEC3 1 1 0 - HMISVQBER3LFS6UELQ3DN9VT6QI4LL28 NS DS RRSIG HMIQOH986C2QQFJRPQJH18GTCL9922SH.com. 86400 IN RRSIG NSEC3 8 2 86400 20190218055540 20190211044540 16883 com. R3GJVt5SSPC7MQUJTs6h0OC9qQnj2WZU2Y/ec+xbj39/Wuo/TwunvKYz NIr20VkkhMOeX/s8cfA3XheNMBdwufxLZNYTt3ptBySZdmiRKYFi/9HG jUfEcBF2tVVE/ae5qzftgIm7O+AUYxkwWMKBL4+XC3A3sV8I0Fv2fd+Y iDk= ;; Received 887 bytes from 192.42.93.30#53(g.gtld-servers.net) in 152 mswww.moehot.com. 600 IN A 139.196.3.197 ;; Received 59 bytes from 140.205.41.26#53(dns10.hichina.com) in 36 ms

讓我們來一步步分析解析流程:

  • 首先會查看本地緩存查詢是否有對應的域名解析ip
  • 沒有的情況下,向配置的dns服務器發起請求(10.0.0.1為公司內部dns服務器ip)
  • Received 631 bytes from 10.0.0.1#53(10.0.0.1) in 54 ms -- 10.0.0.1會返回根域名服務器的地址(根域名服務器有多個,所以返回很多域名)
  • Received 1174 bytes from 202.12.27.33#53(m.root-servers.net) -- 本機向根域名發起解析請求,根域名服務器返回.com頂級域名服務器地址
  • Received 887 bytes from 192.42.93.30#53(g.gtld-servers.net) -- 本機向com.域名服務器發起請求,返回moehot.com.域名服務器地址
  • 最后向moehot.com.域名發起請求得到www.moehot.com. 的ip地址

CNAME作用

CNAME 即:別名記錄。這種記錄允許您將多個名字映射到另外一個域名。通常用于同時提供WWW和MAIL服務的計算機。例如,有一臺計算機名為“host.mydomain.com”(A記錄)。它同時提供WWW和MAIL服務,為了便于用戶訪問服務。可以為該計算機設置兩個別名(CNAME):WWW和MAIL。這兩個別名的全稱就http://www.mydomain.com/和“mail.mydomain.com”。實際上他們都指向“host.mydomain.com”。

在cdn中實現原理是:給源站域名添加CNMAE,別名為加速節點的域名。當用戶向源站發起請求時,dns服務器解析源站域名時會發現有CNMAE記錄,這時dns服務器會向CNAME域名發起請求,請求會被調度至加速節點的域名。

騰訊云cdn實例

假設您的業務源站域名為 www.test.com ,當域名接入 CDN 開始使用加速服務后,您
的用戶發起 HTTP 請求,實際的處理流程如圖所示:

image.png

  • 用戶向 www.test.com 下的某圖片資源,如 1.jpg 發起請求,先要向 Local DNS 發
    起域名解析請求;
  • 當 Local DNS 解析 www.test.com 時,會發現已經配置了 CNAME
    www.test.com.cdn.dnsv1.com,解析請求會發送至 Tencent DNS(GSLB),GSLB 為騰
    訊云自主研發的調度體系,會為請求分配最佳節點 IP;
  • Local DNS 獲取 Tencent DNS 返回的解析 IP;
  • 用戶測獲取解析 IP;
  • 用戶向獲取的 IP 發起對資源 1.jpg 的訪問請求;
  • 若該 IP 對應的節點緩存有 1.jpg,則會將數據直接返回給用戶(10),此時請求結
    束。若該節點未緩存 1.jpg,則節點會向業務源站發起對 1.jpg 的請求(6、7、8),
    獲取資源后,結合用戶自定義配置的緩存策略(可參考用戶指南中緩存時間設置章
    節內容),將資源存儲(9),并返回給用戶(10),此時請求結束。



作者:openthewindow
鏈接:https://www.jianshu.com/p/14dede92b02f
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

總結

以上是生活随笔為你收集整理的CDN实现原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。