1. 配制合理的CDN缓存规则
说明:让当地或就近的 CDN 节点上的缓存内容,直接提供给用户访问。多个客户访问相同资源也无需回源站获取内容,以此减少回源带宽。
优点:缓存住的内容可直接由 CDN 提供资源的访问。
缺点:根据 CDN 缓存算法 "最近最少使用" 的原则,将最近访问内容频率最低的会被清理出 CDN 缓冲中,导致冷资源还会重新回源站获取。
例如: jpg|bmp|gif
图片类型缓存 7 天,mp4|flv|ts
视频类型缓存 30 天
2. 去问号回源
说明:只缓存 URL 中的问号 ?
前路径中的地址资源,而不再缓存整条 URL 地址资源。
优点:只缓存住主要的资源内容,忽略掉问号后的经常变化的参数,有利于提高缓存命中率,减少回源带宽。
缺点:问号后如果有不同的内容版本号来区分资源,去问号缓存可能会影响实际访问效果,从而导致访问到旧资源。
例如: http://www.youku.com/test.mp4?version=4
, 配制去问号缓存 http://www.youku.com/test.mp4
做到只缓存这个URL地址资源。
3. 开启 CDN 父层
说明:CDN 父层是指相对于边缘节点的上层再加了一个共享存储池,用来将多个 CDN 边缘节点的请求汇聚到父层,由父层再回源站获取资源。
优点:由父层统一回源站,可以起到收敛多个 CDN 边缘节点的请求。做到合并请求,减少回源带宽。
缺点:父层的部署地区并不是离客户最近的机房线路,由父层回源链路过长可能会被线路抖动产生回源失败。父层故障可能会导致多个 CDN 边缘节点无法获取到回源信息,影响面也较大。
4. 开启 CDN 分段(分片)回源(缓存)
说明:CDN 分片回源是指将一份文件拆分成若干个小文件回源。
优点:通过识别不同类型的文件大小,来调整分片的大小。将客户第一次请求,由分片服务自动将资源的请求拆分成若干个分片,最终将分片缓存在边缘或父层中。
缺点:分片服务在第一次无论客户请求过程中是否断开,都会将请求进行分片回源。产生较多的请求次数,增加源站的HTTP请求连接数。
例如:以4M为分片单位,仅对点播和下载文件启用分片功能。
5. 多个加速域名共享CDN缓存
说明:多个加速域名使用同一个源站,多个加速域名默认都会回源获取资源。
优点:配制了共享CDN缓存策略,多个加速域名只会回源一次,减少回源带宽。
缺点:多个加速域名的HOST会被合并成一个主要回源域名的HOST,导致记录回源域名不够清晰。
6. HTTP 和 HTTPS 共享CDN缓存
说明:HTTP 和 HTTPS 的 URL,默认是分别回源获取对应的资源。
优点:配制 HTTP 和 HTTPS 共享缓存策略,可以减少回源次数及带宽。
缺点: HTTP 的回源获取错误文件导致 HTTPS 响应错误
7. 限制回源带宽。
说明:针对源站带宽有一定的限额,如果达到带宽上限会引起无法响应和请求到源站任何资源。
优点:限制回源带宽设置阀值,可以减少回源量突增导致无法访问的异常产生
缺点:会导致回源带宽突增后,导致超过回源带宽的请求失败
8. 用第三方云存储(或内容注入)
说明:将源站迁移至第三方云存储,或CDN缓存节点作为临时存储站。
优点:一次性或者临时性将源站资源上传和同步到第三方存储机构,以减少回源带宽。
缺点:使用第三方云存储会产生使用成本,使用CDN缓存注入节点,将会占用上传带宽。
9. CDN 预取(预热)
说明:将资源提前一次性推送到CDN的边缘或者父层缓存节点。
优点:只占用一次上传带宽,而推送到CDN边缘或父层的内容可直接被用户访问。
缺点:需要提前获得推送资源,并且会占用上传带宽,业务繁忙时预热会导致上传带宽紧张。