【云计算】内容分发网络CDN(四)


theme: condensed-night-purple

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

上篇文章整体介绍了CDN产品的架构组成,这篇文章讲加速原理以及使用场景。

2.3 加速原理

上面讲到了CDN的架构组成部分,那么其到底是如何完成加速的呢?总的来说,当用户发起请求时,DNS解析系统调度分配最优的CDN接入节点,如何找到最优的节点呢?一般来说都是将缓存看作是一个大型的键值存储。 用户请求的内容、定位数据、访问路径以及查询参数,甚至是HTTP请求头等内容,都可以用来作为查找的参数。然后解析系统使用多次查找表,使用优化的算法在最短的时间内找到最优的节点。

用户获取到接入节点后,首次访问CDN接入节点时,该节点需从源站获取数据并缓存,然后返给请求者,当第二次访问相同的接入节点时,节点直接返回内容给用户。 在这个过程中,CDN还在不断地清除(删除或更新)内容,以便交付最新的、相关的内容,并且一般CDN产品都允许使用者在必要时手动更新内容。

这一部分借用阿里云的文档介绍CDN的加速原理,其它产品加速过程大同小异。

image.png

如图上所示,当终端用户在北京发起HTTP请求时,处理流程如下:

  1. 当终端用户向www.a.com下的指定资源发起请求时,首先向LDNS(本地DNS)发起域名解析请求。

  2. LDNS检查缓存中是否有www.a.com的IP地址记录。如果有,则直接返回给终端用户;如果没有,则向授权DNS查询。

  3. 当授权DNS解析www.a.com时,返回域名CNAME www.a.tbcdn.com对应IP地址。

  4. 域名解析请求发送至DNS调度系统,并为请求分配最佳节点IP地址。

  5. LDNS获取DNS返回的解析IP地址。

  6. 用户获取解析IP地址。

  7. 用户向获取的IP地址发起对该资源的访问请求。

    • 如果该IP地址对应的节点已缓存该资源,则会将数据直接返回给用户,例如图中步骤7和8,此时请求结束。
    • 如果该IP地址对应的节点未缓存该资源,则节点向源站发起对该资源的请求。获取资源后结合用户自定义配置的缓存策略,将资源缓存到CDN节点并返回给用户,例如图中的北京节点,此时请求结束。

    三、总结

    通过上面的描述,我们对CDN已经是有一个初步的认识了,那么CDN使用在哪些场景呢?对于CDN来说,额外地使用它是需要增加企业成本的,我们需要将其用在钢刃上。一般来说典型的应用包括以下场景:

    • 手机App、游戏包等更新,提供稳定、优质的下载加速
    • 视频点播(长视频、短视频),支撑高峰期海量并发
    • 网站加速,加速分发处理能力,显著提升网页用户的体验
    • 全站加速,适用于纯动态或动、静态资源混合型资源的一站式加速
    • 安全加速,防护DDos共计,抵抗大型 CC攻击等
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值