5 CDN运用
- 验证域名所属权
- 域名验证设置
如果是阿里云申请的域名, 设置起来比较简单, 直接添加一条验证记录:
如果是其他第三方域名, 可以采用文件验证方式。
下载verification.html验证文件,上传到您的域名源站服务器的根目录。
- 添加域名
这里所填写的加速域名是需要先备案。
业务类型有五种, 根据需要选择不同配置:
- 图片小文件
内容多为小型的静态资源 (如小文件、图片、网页样式文件等),推荐您选择图片小文件业务类型。 - 大文件下载
内容为较大的文件(大于20MB的静态文件),推荐选择大文件下载业务类型。 - 视频点播加速
如果需要加速音频或视频文件,例如音乐、视频的点播业务场景,推荐选择此类型。 - 全站加速
网站或应用含有大量动静态内容混合,且较多为动态资源请求,可以使用全站加速,静态内容高速缓存,动态内容通过阿里云的最优链路算法及协议层优化快速回源获取。
- 安全加速
网站易遭受攻击且必须兼顾加速的业务场景,则需要使用安全加速功能,提升全站安全性。例如金融交易、电商网站等。
- 配置CNAME
阿里云的配置流程:
- 记录加速域名的CNAME地址
- 添加CNAME记录
这里的记录值,填写上面的CNAME地址。
- 验证CNAME配置是否生效
如果返回的解析结果和CDN控制台上该加速域名的CNAME值一致,则表示CDN加速已经生效。
6 CDN最佳实践方案
6.1 ECS源站加速
通过阿里云CDN实现ECS上静态资源加速, ECS上可存储的资源包括静态资源和动态资源。
访问ECS上的资源时,动态资源请求直接返回,静态资源通过CDN实现访问加速,由CDN节点返回。
操作步骤:
- 在CDN控制台上,添加ECS域名。源站信息, 可以填写IP或源站域名
- 填写服务器外网IP,支持多个服务器外网IP。
- 填写源站域名,支持多个源站域名。
- 在CDN控制台上,获取CNAME值。
- 在DNS控制台上, 配置CNAME值。
- 通过PING命令,验证CNAME配置是否生效。
6.2 OSS资源加速
- 背景
OSS源站上存储的静态资源包括静态脚本、图片、附件等信息,当用户访问静态资源时,CDN对OSS源站上的静态资源进行加速,源站上的资源缓存到CDN的加速节点,系统自动调用离终端用户最近的CDN节点上已缓存的资源。加速OSS架构如下图所示。
- 方案优势:
- 用户访问网站资源,全部通过CDN,降低源站压力。
- 使用CDN流量,单价低于OSS直接访问外网流量。
- 资源从距离客户端最近的CDN节点获取,减少网络传输距离,保证静态资源质量。
- 操作配置:
- 在CDN控制台上,添加OSS域名, 并记录加速域名的CNAME值。
- 在阿里云云解析DNS控制台上,配置加速域名的CNAME值。
- 通过PING命令, 验证CNAME配置是否生效。
- 在OSS控制台上,打开加速域名的CDN缓存自动刷新开关。
- 在OSS控制台上,打开加速域名的CDN缓存自动刷新开关。
执行本操作后,如果Object有更新,OSS会自动将更新后的Object刷新到CDN的缓存节点上,从而实现文件更新后实时刷新缓存的功能。
6.3 CDN缓存命中率优化
- 背景
在实际应用中, 如果CDN缓存命中率低,则会导致源站压力大,静态资源访问效率低。
需要选择对应的优化策略,来提高CDN的缓存命中率。
CDN缓存命中率包括:
- 字节缓存命中率: CDN缓存命中响应的字节数 / CDN所有请求响应的字节数。
- 请求缓存命中率: CDN缓存命中的请求数 / CDN所有的请求数。
- 字节缓存命中率越低,回源流量越大,回源流量代表了源站服务器接收到的负载压力。
- 查看CDN缓存命中率
CDN控制台提供的缓存命中率监控是字节缓存命中率:
优化方案
- 预热URL
在业务高峰前预热热门资源,再次访问该资源时,直接从CDN节点获取,从而提升CDN的缓存命中率。
详细操作 - 配置资源缓存规则
当静态资源未返回响应头Etag或Last-modified时,缓存失败会导致CDN缓存命中率低,可以针对该资源配置缓存规则,提升缓存命中率。
详细操作
过滤URL中可变参数
当URL请求中带有queryString或其他可变参数时,资源重新回源,会导致CDN缓存命中率降低。
可以针对可变参数开启参数过滤功能,提升资源的缓存命中率。