CDN一些概念以及原理

在这里记录一下项目中遇到的一个问题,项目中用到了CDN(内容分发网络),在网上了解了一些基础知识,在这记录一下。CDN就是在用户和服务器之间增加了cache层,将网站的内容发布到CDN上使得用户可以就近获得所需的资源。它解决了不同地域的用户访问网站时候存在访问速度的差异,大大提高了响应速度,同时还能解决用户访问量大的问题,降低了源网站的压力。

  • 一些概念:DNS提供域名到IP地址的映射,为了实现该功能它需要维护叫做资源记录的数据(resource record),资源记录有很多类型比如
    A(address):这是我们接触较多的,他记录的是域名到IP地址的映射;
    CNAME(canonical name,canonical:权威的):域名到域名的映射,为了使用 CDN,必需另外再申请一个加速域名,作为使用 CDN 的入口。
    NS(name server):指定了域名由哪一台服务器进行解析, NS 指定的 DNS 服务器叫做该域名的权威 DNS 服务器。
    加速域名:需要CDN加速的域名,加速域名由域名供应商提供,这种域名需要配置CNAME记录,无需加速的配置A记录即可,同一域名上A与CNAME不可共存。加速域名值为 CDN 平台提供的 CNAME 域名,该 CNAME 域名指向 CDN 系统节点。添加加速域名时需要配置源站域名,也就是CDN 平台保存了加速域名与源站域名的映射关系。CNAME保存的是加速域名和主供应商域名(比如ali.com)
  • CDN工作原理:
    (假设我建立了一个网站,域名为 www.tt.com,用户访问的主页链接为 www.tt.com/idx.html。为了缓解服务端压力和加快访问速度,决定使用阿里云 CDN 服务。
    为了更好地理解工作原理,先了解一下 CDN 的接入流程。
    接入流程
    主要接入步骤如下:
    到某域名供应商处申请一个加速域名:js.tt.com。
    到阿里云 CDN 平台添加加速域名 js.tt.com,同时设置其源站域名为 www.tt.com。
    阿里云 CDN 平台自动分配一个 CNAME 域名:js.tt.com.ali.com。(指向CDN系统节点)
    到域名供应商处给加速域名 js.tt.com 添加 CNAME 记录,其值为上一步得到的 CNAME 域名:js.tt.com.ali.com。

作者:Escape Plan
链接:https://juejin.im/post/6844904190913822727
来源:掘金)
没有使用CDN访问过程详见上一篇笔记,使用CDN的网络主要通过接管NDS将用户的请求引导到cache上以获得源服务器的资源。

  1. 最开始的步骤和无CDN访问过程一致,一直到本地DNS经过迭代查询将最终解析域名的解析权交给CNAME指向的CDN专用DNS
  2. CDN的DNS服务器将CDN的全局负载均衡设备IP地址返回用户。
    用户向CDN的全局负载均衡设备发起内容URL访问请求。
  3. CDN全局负载均衡设备根据用户IP地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求。
  4. 区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务,选择的依据包括:根据用户IP地址,判断哪一台服务器距用户最近;根据用户所请求的URL中携带的内容名称,判断哪一台服务器上有用户所需内容;查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。基于以上这些条件的综合分析之后,区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的IP地址。
  5. 全局负载均衡设备把服务器的IP地址返回给用户。
  6. 用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。如果这台缓存服务器上并没有用户想要的内容,而区域均衡设备依然将它分配给了用户,那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉到本地。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值