`

【转】简述回源原理和CDN常见多级缓存

阅读更多
一、CDN回源
1、回源原理

源站内容有更新的时候,源站主动把内容推送到CDN节点。
常规的CDN都是回源的。即:当有用户访问某一个URL的时候,如果被解析到的那个CDN节点没有缓存响应的内容,或者是缓存已经到期,就会回源站去获取。如果没有人访问,那么CDN节点不会主动去源站拿的。
回源域名一般是cdn领域的专业术语,通常情况下,是直接用ip进行回源的,但是如果客户源站有多个ip,并且ip地址会经常变化,对于cdn厂商来说,为了避免经常更改配置(回源ip),会采用回源域名方式进行回源,这样即使源站的ip变化了,也不影响原有的配置。
CDN本来是给我们的网站加速的,但是有时会因为不合适的回源策略给服务器带来负担,只有选择正确的策略才能给自己的网站带来更高的访问效率。

2、CDN回源率计算方法
回源比分为回源请求数比例及回源流量比例两种

回源请求数比:
统计数据来自所有边缘节点上的请求记录,其中,对于没有缓存或缓存过期(可缓存)的请求以及不可缓存的请求,均计入回源请求中,其他直接命中缓存的,则为命中请求。
回源流量比:
回源流量是回源请求文件大小产生的流量和请求本身产生的流量   回源流量比=回源流量/回源流量+用户请求访问的流量

二、CDN常见多级缓存
1、CDN概念

CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。

2、CDN工作方法

客户端浏览器先检查是否有本地缓存是否过期,如果过期,则向CDN边缘节点发起请求,CDN边缘节点会检测用户请求数据的缓存是否过期,如果没有过期,则直接响应用户请求,此时一个完成http请求结束;如果数据已经过期,那么CDN还需要向源站发出回源请求(back to the source request),来拉取最新的数据。CDN的典型拓扑图如下:






CDN的典型拓扑图

3、CDN层级划分:

CDN系统中,直接面向用户,负责给用户提供内容服务的的Cache设备都部署在整个 CDN网络的边缘位置,所以将这一层称为边缘层。
CDN系统中,中心层负责全局的管理和控制,同时也保存了最多的内容Cache。在边缘层设备未能命中Cache时,需要向中心层设备请求;而中心层未能命中时,则需要向源站请求。不同的CDN系统设计存在差异,中心层可能具备用户服务的能力,也可能只会向下一层提供服务。
如果CDN系统比较庞大,边缘层向中心层请求内容太多,会造成中心层负载压力太大。此时,需要在中心层和边缘层之间部署一个区域层,负责一个区域的管理和控制,也可以提供一些内容Cache供边缘层访问。

4、CDN缓存
浏览器本地缓存失效后,浏览器会向CDN边缘节点发起请求。类似浏览器缓存,CDN边缘节点也存在着一套缓存机制。
5、CDN缓存的缺点
CDN的分流作用不仅减少了用户的访问延时,也减少的源站的负载。但其缺点也很明显:当网站更新时,如果CDN节点上数据没有及时更新,即便用户再浏览器使用Ctrl +F5的方式使浏览器端的缓存失效,也会因为CDN边缘节点没有同步最新数据而导致用户访问异常。
6、CDN缓存策略

CDN边缘节点缓存策略因服务商不同而不同,但一般都会遵循http标准协议,通过http响应头中的Cache-control: max-age的字段来设置CDN边缘节点数据缓存时间。
当客户端向CDN节点请求数据时,CDN节点会判断缓存数据是否过期,若缓存数据并没有过期,则直接将缓存数据返回给客户端;否则,CDN节点就会向源站发出回源请求,从源站拉取最新数据,更新本地缓存,并将最新数据返回给客户端。
CDN服务商一般会提供基于文件后缀、目录多个维度来指定CDN缓存时间,为用户提供更精细化的缓存管理。
CDN缓存时间会对“回源率”产生直接的影响。若CDN缓存时间较短,CDN边缘节点上的数据会经常失效,导致频繁回源,增加了源站的负载,同时也增大的访问延时;若CDN缓存时间太长,会带来数据更新时间慢的问题。开发者需要增对特定的业务,来做特定的数据缓存时间管理。

7、CDN缓存刷新
CDN边缘节点对开发者是透明的,相比于浏览器Ctrl+F5的强制刷新来使浏览器本地缓存失效,开发者可以通过CDN服务商提供的“刷新缓存”接口来达到清理CDN边缘节点缓存的目的。这样开发者在更新数据后,可以使用“刷新缓存”功能来强制CDN节点上的数据缓存过期,保证客户端在访问时,拉取到最新的数据。
参考文献:https://blog.csdn.net/mountains2001/article/details/52766431
https://blog.csdn.net/wangxin1982314/article/details/51050206/
https://blog.csdn.net/songchunmin_/article/details/69942991

作者:任总
链接:https://www.jianshu.com/p/e7751ecb6f21
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
分享到:
评论

相关推荐

    aws CDN刷新缓存

    本脚本用于清除AWS上的CDN(即cloudfront)的缓存 使CDN缓存过期,重新回源拉去

    彩蛋篇:CDN 的缓存与回源机制解析(1).md

    CDN的核心功能包括缓存和回源两个方面。缓存是指CDN节点服务器将资源存储在本地,以便快速提供给用户。回源是指当CDN节点服务器没有缓存用户请求的资源时,需要向源服务器获取资源的过程。CDN缓存的资源可能是静态...

    缓存工作原理(CDN).pdf

    CDN的核心优势在于其利用边缘服务器缓存内容,这些边缘服务器位于靠近最终用户的位置,即入网点(POP)。这种设计可以最大程度地降低延迟,提高内容的获取速度,从而为最终用户带来更好的性能和更佳的用户体验。 ...

    it618视频直播学院 OSS私有后CDN回源加速与鉴权访问的设置方法1

    阿里云的IT618视频直播学院提供了一种方法,教用户如何利用OSS私有化和CDN回源加速,同时实现鉴权访问,以防止资源被盗链。 首先,OSS私有化是确保内容安全的一种策略。当设置OSS为私有时,直接通过文件URL访问会被...

    CDN技术原理

    CDN(Content Delivery Network)内容分发网络是一种互联网基础设施,旨在通过将静态和动态内容缓存到全球多个地理位置分散的边缘服务器上,提高网站的访问速度和可用性。这一技术的核心在于减少网络延迟,减轻源...

    cdn原理

    ### CDN原理详解 #### 一、CDN概述 ##### 1.1 什么是CDN? CDN(Content Delivery Network)的全称是内容分发网络,它是一种在现有Internet基础上增加的一层网络架构,旨在通过将网站内容发布到最接近用户的网络...

    运维趋势 第十六期 CDN服务缓存系统概述

    当用户请求某个资源时,CDN会根据用户的地理位置和网络状况,将请求重定向至最近或最合适的缓存节点,从而显著减少延迟并提高访问速度。此外,通过智能路由、缓存更新机制以及安全性保障措施等手段,CDN能够有效地...

    nginx系列(十)nginx缓存代理proxy_cacahe和CDN实现的原理

    2. **CDN原理**:内容分发网络是一种分布式网络服务,通过在全球范围内的多个边缘节点存储和分发内容,减少了用户访问内容时的延迟。Nginx可以作为一个轻量级的CDN解决方案,通过配置多个服务器块,将静态资源指向...

    WordPress发布更新文章、提交审核评论自动清理腾讯云CDN缓存

    然而,需要注意的是,频繁地清理CDN缓存可能会增加服务器的负担,因此在设置缓存时间时应权衡更新频率和性能影响。 总的来说,结合使用WordPress和腾讯云CDN,通过自定义的PHP代码实现自动清理缓存,不仅可以提升...

    CDN 培训 PPT 什么是CDN 如何助力大促

    此外,CDN还可以帮助商城在大促期间应对高并发流量,通过控制回源并发数、设置请求优先级和流量控制等方式,确保关键服务(如创建订单、支付、登录和用户中心)的稳定性。 **CDN如何助力商城大促** 1. **控制回源...

    全自动刷新aws cdn 缓存目录

    文件过期前从 CloudFront 边缘缓存中删除文件 通过边缘缓存使文件失效。查看器下次请求文件时,CloudFront 将返回源以获取文件的最新版本。

    CDN技术原理[收集].pdf

    CDN 技术原理解析 CDN(Content Delivery Network)是近年来兴起的一种网络优化技术,旨在解决传统互联网访问模式中存在的多个瓶颈问题,提高互联网用户的访问效率和质量。从 CDN 技术的基本原理到其对网络的优化...

    详叙CDN的工作原理及工作过程

    ### CDN的工作原理及工作过程详解 #### 一、引言 随着互联网的快速发展,人们对于网络服务质量和访问速度的要求日益提高。尽管网络带宽不断升级,但由于Web服务器的负载、传输距离等因素,响应速度缓慢仍然是常见...

    平台化CDN基础架构——ATS缓存系统

    总之,ATS缓存系统作为平台化CDN基础架构的关键组成部分,以其卓越的性能、可靠性和扩展性,为光纤时代的互联网应用提供了坚实的支撑。未来,ATS将继续引领CDN领域的技术创新,满足日益增长的互联网服务需求。

    互联网加速CDN原理-PPT

    ### 互联网加速CDN原理详解 #### 一、CDN的概念与产生背景 - **概念**:CDN(Content Delivery Network),即内容分发网络,是一种位于现有互联网基础之上的虚拟网络,通过在网络各处布置节点服务器来实现对数据、...

    CDN原理介绍

    ### CDN原理介绍 #### CDN概述 CDN(Content Delivery Network),即内容分发网络,是一项旨在提高互联网用户体验的关键技术。随着互联网技术的迅速发展以及用户对高质量内容需求的增长,CDN成为了确保网络服务稳定...

    阿里云《CDN排坑指南》.pdf

    CDN 加速的核心原理是通过在现有网络中增加一层新的缓存节点,将源站的资源发布到最接近用户的网络节点,使得客户端在请求时直接访问到就近的 CDN 节点并命中该资源,减少回源情况,提高网站访问速度。CDN 节点缓存...

    11.CDN缓存系统用户手册.doc

    总之,互联港湾的CDN缓存系统通过其高效的技术方案和丰富的管理功能,为用户提供了一个强大且易用的内容分发网络解决方案,旨在提高网站的性能、可靠性和安全性。无论是大型企业还是中小型企业,都可以从中受益,为...

    CDN技术详解.pdf

    ### CDN技术详解 ...通过对CDN的发展历史、负载均衡技术和缓存技术的深入了解,我们可以更好地利用这些技术来优化我们的网络服务。未来,随着5G、物联网等新兴技术的发展,CDN技术还将迎来更广阔的应用前景。

Global site tag (gtag.js) - Google Analytics