1. CDN的产生背景
CDN的产生旨在解决网络拥塞的问题,造成网络拥塞的原因主要有以下几个:
• “第一公里”:指网站内容从源头通过链路接入互联网的过程,当这个链路的带宽较小时,访问的用户量一旦变大,就会导致访问拥堵。
• “最后一公里”:经由互联网的流量到达用户接收端的过程,如果用户接入互联网的链路带宽很小也会导致网络堵塞。
• 对等互联关口:指不同的网络运营商之间的互联互通,如果对等互联关口的带宽不够大,就会导致网络堵塞。
• 长途骨干传输:距离服务器的物理距离越远,数据传输的时间就越长。
由于网络堵塞导致用户的网络体验效果,可以用以下两种指标衡量:
• 时延RT:用户请求网页到网页最终呈现的时间差。时延是由多种因素造成的,其中普遍存在的因素是用户和网站服务器的物理距离。
• 8秒定律:用户满意的网页打开时间是在2秒以下,如果等待网页打开的时间超过8秒,会有超过30%的用户放弃等待。
2. CDN解决了哪些问题
CDN,通俗理解就是网站加速,可以解决跨运营商、跨地区、服务器负载能力过低、带宽过少等导致的网络响应速度慢的问题。
• 不用担心自己网站访客,在任何时间,任何地点,任何网络运营商,都能快速打开网站。
• 各种服务器虚拟主机带宽等采购成本,包括后期运维成本都会大大减少。
• 给网站直接带来的好处就是:流量,咨询量,客户量,成单量,都会得到大幅度提升。
CDN加速通常指静态资源加速,静态资源即存储OSS中的非结构化数据。CDN的本质是提前将数据缓存在离用户最近的地方,以提升用户的网络体验。CDN可以保障网站安全、异地备援,让用户更专注业务本身。
3. 阿里云CDN
1) 什么是阿里云CDN
阿里云内容分发网络(Content Delivery Network,简称CDN)是建立并覆盖在承载网之上、由分布在不同区域的边缘节点服务器群组成的分布式网络。替代传统以Web Server为中心的数据传输模式,将源站资源缓存到阿里云全国各地的边缘服务器,供用户就近快速获取,提升用户体验,降低源站压力。
阿里云CDN基础架构
2) 阿里云CDN基础原理
a) 传统http请求处理过程
• 用户在终端浏览器上输入要访问的域名,该域名会发送到本地域名服务器(LDNS)中进行解析。
• 如果本地域名服务器中有缓存该域名的解析结果,则直接返回用户。
• 如果本地域名服务器中没有缓存该域名的解析结果,则会向根域名服务器或权限域名服务器发起递归请求。
• 获取域名解析结果,返回该域名IP地址,并通过本地域名服务器返回用户。
• 用户获取域名IP地址后向Web服务器发起访问请求。
b) 使用CDN后的http请求处理过程
将域名接入阿里云CDN后,当用户对该域名发起访问请求后,CDN会根据目标加速域名和来源IP,分配距离来源IP最近的边缘节点IP,以实现网络加速效果。
• 加速域名:域名接入阿里云CDN后即成为加速域名。
• CNAME域名:是CDN系统生成的域名,阿里云CDN产品通过分布广泛的CDN边缘节点来为最终用户提供加速服务,不同区域或者不同运营商的用户访问到的CDN节点IP地址是不同的,因此加速域名就无法通过DNS的A记录解析的方式唯一解析到某个IP地址,这个时候就引入了CNAME域名。
3) CDN的接入
a) 开通CDN服务
• 实名认证账号
• 登陆控制台
• 开通CDN
b) 添加CDN加速域名
• 选择域名列表页
• 填写基本信息
• 确认信息
c) 绑定CNAME
• 获取CNAME域名
• 查询域名状态
• 配置DNS解析:在域名解析服务商处将加速域名的DNS解析记录指向CNAME域名
• 验证域名是否CNAME成功
4) CDN应用场景
a) 网站站点应用加速
• 实现对站点或者应用中大量静态资源的加速分发,建议将站点内容进行动静分离,动态文件可以结合云服务器ECS;静态资源如各类型图片、html、css、js文件等,可使用对象存储OSS存储,通过CDN可以有效加速内容加载速度。
• 由于通过OSS拉取数据要消耗下行流量,相比OSS流量单价,使用CDN流量的成本会减少2/3以上。
b) 视音频点播/大文件下载分发加速
• 支持各类文件的下载、分发,支持在线点播加速业务,如mp4、flv。
• 主要的业务场景是视音频点播、大文件下载(如安装包下载)等,建议搭配对象存储OSS使用,可提升回源速度,节约近2/3回源带宽成本。
• 尤其针对视音频点播,CDN会大大降低延时,提升用户体验。
c) 视频直播加速
基于内容接入与分发网络和大规模分布式实时转码技术打造的音视频直播平台,提供便捷接入、高清流畅、低延迟、高并发的音视频直播服务。
d) 移动应用加速
移动APP更新文件(apk文件)分发移动APP内图片、页面、短视频、UGC等内容的优化加速分发,有效缩短用户访问时间,提升用户体验。