一文了解什么是CDN及实现原理

 更新时间:2023年05月17日 09:09:21   作者:ppwa  
这篇文章主要为大家介绍了什么是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实现原理的资料请关注脚本之家其它相关文章!

相关文章

最新评论