摘要
CDN的全称是(Content Delivery Network),即内容分发网络。其目的是通过在现有的Internet中增加一层新的CACHE(缓存)层,将网站的内容发布到最接近用户的网络”边缘“的节点,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,提高用户访问网站的响应速度。
简单的说,CDN的工作原理就是将您源站的资源缓存到位于全球各地的CDN节点上,用户请求资源时,就近返回节点上缓存的资源,而不需要每个用户的请求都回您的源站获取,避免网络拥塞、缓解源站压力,保证用户访问资源的速度和体验。
一、CDN加速原理
假设您的加速域名为www.xiafenfa.com,接入CDN开始加速服务后,当终端用户在北京发起HTTP请求时,处理流程如下图所示。
当终端用户向www.xiafenfa.com下的指定资源发起请求时,首先向Local DNS(本地DNS)发起请求域名www.xiafenfa.com对应的IP。
Local DNS检查缓存中是否有www.xiafenfa.com的IP地址记录。如果有,则直接返回给终端用户;如果没有,则向网站授权DNS请求域名www.xiafenfa.com的解析记录。
当网站授权DNS解析www.xiafenfa.com后,返回域名的CNAME www.xiafenfa.com.example.com。
Local DNS向DNS调度系统请求域名www.xiafenfa.com.example.com的解析记录,DNS调度系统将为其分配最佳节点IP地址。
Local DNS获取DNS调度系统返回的最佳节点IP地址。
Local DNS将最佳节点IP地址返回给用户,用户获取到最佳节点IP地址。
用户向最佳节点IP地址发起对该资源的访问请求。
如果该最佳节点已缓存该资源,则会将请求的资源直接返回给用户(步骤8),此时请求结束。
如果该最佳节点未缓存该资源或者缓存的资源已经失效,则节点将会向源站发起对该资源的请求。获取源站资源后结合用户自定义配置的缓存策略,将资源缓存到CDN节点并返回给用户(步骤8),此时请求结束。