在复杂的业务环境中,许多客户会采用“火山引擎 CDN + 自建 IDC 源站” 的架构。在这种架构下,如果业务流量大并且 CDN 缓存命中率较低(例如低于 95%),会导致回源带宽增加,带来高昂的 IDC 公网带宽成本。
缓存命中率低由多种原因引起。本文适用的情况如下:
一般来说,CDN 按区域缓存文件。在收到用户请求时,CDN 会判断请求的来源区域。如果请求未能命中该区域内的 CDN 节点的缓存,CDN 就会回源,并将获取到的文件缓存在该区域内的 CDN 节点上。如果收到一个来自其他区域的请求,并且该区域内的 CDN 节点尚未缓存该文件,CDN 就又会回源。因此,如果源站上持续有文件更新,并且用户请求来自不同区域,就容易出现缓存命中率偏低的问题。
为应对这一挑战,本文介绍一种用于优化成本和分发性能的方案。该方案是将火山引擎对象存储(TOS)作为 CDN 的“伪源”,在 CDN 与 IDC 源站之间增加一个缓存层。
在该方案中,如果用户请求了 IDC 源站上的新文件,请求的处理方式如下:
该方案本质上是用云存储成本换 IDC 公网带宽成本,从而降低整体业务成本。
采用 TOS 作为 CDN 伪源的方案,在成本和运维灵活性方面具有显著优势。
该方案的核心优势在于通过成本置换,降低数据分发总成本,详情如下表所示:
计费项 | 费用 | 备注 |
|---|---|---|
TOS 存储 | 标准存储:0.99 元/GiB/月 | 通过对存储桶配置生命周期规则,可以将数据存储在低频或归档存储中,可以进一步降低存储费用。参见 生命周期概述。 |
CDN 回源 TOS 流量 | 0.15 元/GB | 该费用远低于通过公网访问 TOS 时的 TOS 流出流量费用,后者是 0.5 元/GB。 |
IDC 公网带宽 | 以实际价格为准 | 在此方案中,单个文件的回源请求数量可以降至 1,从而降低 IDC 公网带宽费用。 |
说明
TOS 相关定价以 产品定价页 显示的为准。
CDN 提供了刷新联动特性,确保了从 CDN 到 TOS 伪源的数据同步。要启用该功能,请 提交工单。
该特性启用后,当您通过 CDN 控制台或 API 提交缓存刷新任务时,会自动触发 TOS 删除存储桶中对应的文件,详情如下:
说明
如果刷新 URL 已在 "回源 URL 改写" 中配置,则 CDN 不会删除 TOS 中的相应文件。要使刷新联动生效,请将改写后的文件路径作为 URL 提交刷新任务。
注意
刷新联动会删除 TOS 中的相应文件。如果此时源站上的原始文件也已被删除,该文件将永久丢失且无法恢复。因此,请您谨慎操作。
首先,您需要创建一个 TOS 桶作为伪源,并为该存储桶配置回源规则。该规则可让 TOS 在文件不存在时从 IDC 源站获取文件。
接下来,为您的业务添加一个 CDN 加速域名,并将该域名的源站指向刚创建的 TOS 伪源。
请 提交工单。