阿里云CDN加速原理介绍

  • 时间:
  • 浏览:0

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地址发起对该资源的访问请求。

用户还还要登录阿里云CDN控制台配置缓存过期时间,针对静态资源配置指定目录和文件后缀名的缓存过期时间和优先级,资源过期后,自动从CDN节点删除。

在HTTP请求的资源,请求还还要分为静态内容和动态内容。

静态内容(静态资源)静态内容是发生不同请求中访问到的数据都相同的静态文件。相似:图片、视频、网站中的文件(html、css、js)、软件安装包、apk文件、压缩包文件等。

CDN通过在现有网络中增加一层新的缓存节点,将源站的资源发布到最接近用户的网络节点,使得客户端在请求时直接访问到就近的CDN节点并命中该资源,减少回源情况表,提高网站访问速率。CDN缓存节点可分为L1节点(一级节点)和L2节点(二级节点),请求的流程是:客户端-->CDN_L1-->CDN_L2-->源站。CDN的L1节点分布在全国各省市,L2节点分布在几只大区下,还还要把L2节点理解为汇聚式节点,简单架构如下图所示。

有点儿注意

CDN调度系统分配节点的完后 ,是根据客户端的LocalDNS来分配节点的,而都是根据客户端IP来分配节点的。有些,有些客户端LocalDNS设置不正确语句会原困无法分配调度到最优的节点。

CDN应用场景

通过以下案例,还还要进一步了解CDN的工作原理。

假设加速域名为www.a.com, 接入CDN网络,现在日后刚开始使用加速服务后,当终端用户(北京)发起HTTP请求时,处里流程如下图所示。

当客户端访问哪些地方地方动态内容时,每次都还要访问用户的服务器,由服务器动态生成实时的数据并返回给客户端。有些CDN的缓存加速不适用于加速动态内容,CDN无法缓存实时变化的动态内容。对于动态内容请求,CDN节点不可以转发回源站服务器,如此 加速效果。

CDN节点缓存策略如下:

1.客户端向CDN节点发起连接请求,当L1节点有缓存资源时,会命中该资源,直接将数据返回给客户端。当L1节点无缓存资源时,会向L2节点请求对应资源,有些L2节点有缓存资源,则将资源同步到L1节点,并返回给用户;有些L2节点无缓存资源,则直接回客户源站获取资源,并按照配置的缓存策略进行缓存。

2.为了方便理解,再举另几只 简单例子,假设有杭州移动节点Cache1和宁波移动节点Cache2另几只 L1节点,这另几只 L1节点都回源到同另几只 L2这些节点,源站在北京。这几只CDN节点初始的完后 都如此 用户的缓存资源。当ABC另几只 用户依次请求同另几只 图片的完后 ,过程如下:

有些用户的网站或App应用有较多动态内容,相似还要对各种API接口进行加速,则还要使用阿里云全站加速产品。全站加速能一起加速动态和静态内容,加速土法律办法如下:

使用CDN加速前,用户侧发起的请求通过用户侧DNS递归到网站DNS解析完后 ,最终用户侧直接请求网站服务器。这里有些会造成以下几种情况表:

阿里云内容分派网络(Content Delivery Network,简称CDN)是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。阿里云CDN分担源站压力,处里网络拥塞,确保在不同区域、不同场景下加速网站内容的分派,提高资源访问速率。点击文档三分钟了解阿里云CDN。

CDN加速的本质是缓存加速,将您服务器上存储的静态内容缓发生阿里云CDN节点上,当您访问哪些地方地方静态内容时,不必访问服务器源站,就近访问阿里云CDN节点即可获取相同内容,从而达到加速的效果,一起减轻服务器源站的压力。

静态内容还还要在CDN上缓存多久,这些是根据CDN的缓存策略的。有些用户如此 主动到CDN上配置过期时间,则会遵循CDN的默认缓存策略。CDN的默认缓存时间比较短,最大不超过35000秒,有些很容易缓存过期。有些网站开发及其相关技术人员更清楚自身网站的业务逻辑、静态和动态因素,有些建议用户通过控制台按照文件类型和目录设置缓存时间。

动态内容(动态资源)

动态内容是发生不同请求中访问到的数据不相同的动态内容。相似:网站中的文件(asp、jsp、php、perl、cgi)、API接口、数据库交互请求等。