分发网络(CDN)是建立并覆盖在承载网之上,由遍布全球的边缘节点服务器群组成的分布式网络,它能分担源站压力,避免网络拥塞,确保在不同区域、不同场景下加速网站内容的分发,提高资源访问速度,其具有以下特点:
1、全网带宽输出能力达150Tbps:拥有强大的带宽资源,可满足大量用户的并发访问需求。
2、缓存到边缘节点:把静态内容缓存到边缘节点,提高访问下载效率,使用户能够快速获取所需资源。
3、价格优势:CDN流量价格(0.17元/GB)比OSS流量价格(0.4元/GB)便宜,能为用户节省成本。
假设加速域名为www.aliyundoc.com,当终端用户在北京发起HTTP请求时,处理流程如下:
1、终端用户向www.aliyundoc.com下的指定资源发起请求,首先向Local DNS(本地DNS)发起请求域名www.aliyundoc.com对应的IP,若Local DNS检查缓存中有记录,则直接返回给终端用户;若无记录,则向网站授权DNS请求解析记录。
2、网站授权DNS解析www.aliyundoc.com后,返回域名的CNAME www.aliyundoc.com.example.com。
3、Local DNS向阿里云CDN的DNS调度系统请求域名www.aliyundoc.com.example.com的解析记录,阿里云CDN的DNS调度系统为其分配最佳节点IP地址。
4、Local DNS获取阿里云CDN的DNS调度系统返回的最佳节点IP地址,并将其返回给用户,用户获取到最佳节点IP地址。
5、用户向最佳节点IP地址发起对该资源的访问请求:
若最佳节点已缓存该资源,则将请求的资源直接返回给用户,此时请求结束。
若最佳节点未缓存该资源或者缓存的资源已经失效,则节点会向源站发起对该资源的请求,获取源站资源后结合用户自定义配置的缓存策略,将资源缓存到CDN节点并返回给用户,此时请求结束。
1、准备工作:注册并实名认证阿里云账号。
2、购买阿里云CDN:点击购买阿里云CDN,选择下行流量表、加速区域、加速包大小和有效期等参数。
1、添加要加速的域名
在CDN控制台上添加OSS域名,需要验证该域名的归属权,建议用DNS解析验证,用test.laker.com加速OSS中的文件。
配置源站信息,可选择OSS域名、IP、源站域名或函数计算域名作为源站,选择OSS域名时,不要搞自定义域名与加速域名相同,否则会造成循环解析,无法回源。
2、配置CNAME
域名添加成功后,CDN会分配对应的CNAME地址,在源站上配置CNAME地址,访问加速域名的请求才能转发到CDN节点上。
3、验证CNAME设置是否生效:在本地PC机上,通过ping命令验证,若ping加速域名返回的解析结果和CDN控制台上该加速域名的CNAME值一致,则表示CDN加速已经生效,可能要等10分钟才生效。
域名配置完成后,进行源站配置,完成基础信息和业务信息配置后,单击新增源站信息,源站信息支持四种形式:
1、OSS域名:资源已存储在阿里云OSS中,可在下拉列表中选择或自定义输入阿里云OSS Bucket的外网域名作为源站(不支持OSS内网域名作为源站),.oss-cn-hangzhou.aliyuncs.com,查看OSS外网域名可前往OSS控制台查看,或直接选择同账号下的OSS Bucket。
2、IP:支持配置单个或者多个IP作为源站地址,不支持内网IP,支持IPv4地址和IPv6地址,不能全部配置IPv6地址,必须至少配置一个IPv4地址,使用阿里云ECS的外网IP作为源站地址可免审核。
3、源站域名:支持配置域名作为源站地址,可配置多个域名。
4、函数计算域名:支持将您在同一账号下的函数计算产品上配置的函数计算域名,配置为源站地址,您需要选择函数计算区域和域名。
使用CDN加速静态资源时,CDN会将源站上的资源缓存到距离客户端最近的CDN节点上,当访问该静态资源时,可直接从CDN的缓存节点上获取,有效避免通过较长的链路回源,提高资源访问效率,阿里云CDN的所有节点上都包含缓存软件,在用户请求或者源站响应资源经过CDN节点时,缓存软件可以根据需要对用户请求或者源站响应资源做各种处理,包括设置缓存时长、改写回源请求等,具体配置如下:
配置项 | 说明 |
配置缓存过期时间 | 以针对静态资源配置指定目录和文件后缀名的缓存过期时间,使其在CDN上按照缓存规则进行缓存 |
配置状态码过期时间 | 可以配置资源的指定目录或文件后缀名的状态码过期时间 |
配置自定义HTTP响应头 | 可以配置资源缓存过期的HTTP消息头 |
配置自定义页面 | 可以根据所需自定义HTTP或HTTPS响应状态码跳转的完整URL地址 |
配置访问URL改写规则 | 可以对请求的URL进行修改,实现302重定向到目标URL |
自定义Cachekey | 可以将访问同一个文件的一类请求转化为统一的Cachekey,避免不同请求缓存为不同文件的问题,降低回源频率 |
配置跨域资源共享 | 可以通过自定义HTTP响应头功能配置跨域资源共享 |
答案:阿里云CDN通过在全球分布的边缘节点服务器群来分担源站压力,避免网络拥塞,当用户发起HTTP请求时,CDN会根据一系列步骤进行处理,包括DNS解析、分配最佳节点IP地址、获取资源等,如果节点已缓存资源,则直接返回给用户;若未缓存或缓存失效,则向源站请求资源并缓存到CDN节点后再返回给用户,从而提高资源访问速度。
答案:阿里云CDN的计价方式比较灵活,支持按流量计费(如0.17元/GB)、峰值保障、封顶价格等多种计价方式,用户可以根据自己的需求和业务情况选择合适的计费方式。