正文
由于用户访问源站业务有性能瓶颈,通过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实现原理的资料请关注编程网其它相关文章!