今天以对象存储+CDN为例,跟大家讲下CDN回源流出流量是什么意思?我们在使用CDN时会在管理后台的资源监控页面中,发现回源流出流量较大,新人可能会不大清楚这个概念,接下来跟大家详细分享。
一、CDN的概念
CDN的全称是Content Delivery Network,即内容分发网络,CDN可以解决影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。其工作原理是通过DNS服务器来实现最优节点的选择,通过缓存来减少源站的压力,比如在北京的用户访问网站的资源,源站服务器在南方,如果直接访问加载速度会慢些,也考验服务器压力,这时使用CDN后,内容缓存在各个节点,用户会访问离他最近的节点,那么就提高了访问的响应速度。
二、CDN的工作方法
用户浏览器会先检查本地的缓存是否过期,如果过期,则向CDN边缘节点发起请求,CDN边缘节点会检测用户请求数据的缓存是否过期,如果没有过期,则直接响应用户请求,此时一个完成http请求结束;如果数据已经过期,那么CDN还需要向源站发出回源请求(back to the source request),来拉取最新的数据。
而CDN服务商会提供“刷新缓存”这个功能来清理CDN边缘节点的缓存,这样我们在更新数据后,可以使用“刷新缓存”功能来让CDN节点上的数据更新,保证客户端在访问时,拉取到最新的数据。
三、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回源流出流量。