CDN实现原理

2020-12-30 15:46:33 浏览数 (1)

1. cdn简介

由于用户访问源站业务有性能瓶颈,通过cdn技术把源站的内容缓存到多个节点。用户向源站域名发起请求时,请求会被调度至最接近用户的服务节点,直接由服务节点直接快速响应,有效降低用户访问延迟,提升可用性。

2. CNAME作用

  • CNAME 即:别名记录。这种记录允许您将多个名字映射到另外一个域名。通常用于同时提供WWW和MAIL服务的计算机。
  • 在cdn中实现原理是:给源站域名添加CNMAE,别名为加速节点的域名。当用户向源站发起请求时,dns服务器解析源站域名时会发现有CNMAE记录,这时dns服务器会向CNAME域名发起请求,请求会被调度至加速节点的域名。

3. 腾讯云cdn实例

假设您的源站域名为www.test.com,当域名接入 CDN 开始使用加速服务后,您的用户发起 HTTP 请求,处理流程如下:

  • 用户向 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),此时请求结束。

0 人点赞