今天以对象存储 + CDN 为例,跟大家讲下 CDN 回源流出流量是什么意思?我们在使用 CDN 时会在管理后台的资源监控页面中,发现回源流出流量较大,新人可能会不大清楚这个概念,接下来跟大家详细分享。
CDN 是什么
CDN(Content Delivery Network,内容分发网络)是构建在现有互联网基础之上的一层智能虚拟网络,通过在网络各处部署节点服务器,实现将源站内容分发至所有 CDN 节点,使用户可以就近获得所需的内容。CDN 服务缩短了用户查看内容的访问延迟,提高了用户访问网站的响应速度与网站的可用性,解决了网络带宽小、用户访问量大、网点分布不均等问题。
![[assets/Pasted image 20231102120358.png]]
工作过程
用户浏览器会先检查本地的缓存是否过期,如果过期,则向 CDN 边缘节点发起请求,CDN 边缘节点会检测用户请求数据的缓存是否过期,如果没有过期,则直接响应用户请求,此时一个完成 http 请求结束;如果数据已经过期,那么 CDN 还需要向源站发出回源请求(back to the source request),来拉取最新的数据。而 CDN 服务商会提供“刷新缓存”这个功能来清理 CDN 边缘节点的缓存,这样我们在更新数据后,可以使用“刷新缓存”功能来让 CDN 节点上的数据更新,保证客户端在访问时,拉取到最新的数据。
CND 回源流出流量
![[assets/Pasted image 20231102120429.png]]
> 存储CDN访问流程图
以上是 对象存储+CDN 访问的简化流程图,接下来的步骤号码将对应流程图中数字。
场景一:CDN 节点「没有缓存」时,需要回源站拉取资源并缓存,访问步骤为:
1、客户访问端发送访问请求到 CDN 节点。
2、CDN 节点进行回源,发送请求到云存储。
3、云存储返回数据给 CDN 节点。
4、CDN 节点缓存数据,并由 CDN 返回数据给客户端。
这里回源产生的费用说明:该过程中,产生的计费项目为 流程 3
产生的存储 CDN 回源流出流量 + 流程 4
产生的 CDN 访问流量。
场景二:CDN 节点「有缓存」时,访问步骤为:
1、客户访问端发送访问请求到 CDN 节点。
4、CDN 节点返回数据给客户端。
这个过程产生的计费项目为 流程 4
产生的 CDN 访问流量,所以如果 CDN 有缓存就不会进行回源,也就没有产生存储 CDN 回源流出流量。