内容分发网络 CDN
什么是CDN缓存
CDN缓存规则
您可以配置CDN节点中某个或某些缓存资源的缓存过期时间规则。当CDN节点缓存的资源达到设置的缓存过期时间后,用户再次请求该资源时,CDN将直接回源站请求对应的最新资源返回给用户,并缓存到CDN节点。支持按照“首页”、“所有文件”、“目录路径”、“文件名后缀”及“全路径”方式指定资源范围,同时支持针对不同的缓存规则配置“URL参数”,从而提高缓存命中率,提升分发效率。
背景信息
CDN缓存背景信息
CDN节点的缓存策略遵循HTTP标准协议,通过HTTP响应头中的Cache-control: max-age的字段来设置CDN节点上数据的缓存时间。添加缓存规则让CDN用户可以对指定的业务做定制化的数据缓存时间管理。合理的配置缓存时间,能够有效的提升命中率,降低回源率,节省用户的带宽。
当用户向CDN节点请求数据时,CDN节点会判断缓存数据是否过期。如果缓存数据未过期,则直接将缓存数据返回给用户,提升获取速度;否则,CDN节点就会向源站发出回源请求,从源站请求最新数据,更新本地缓存,并将最新数据返回给用户。
CDN缓存注意事项
每个域名最多可添加60条缓存规则。
CDN缓存过期时间会对“回源率”产生直接的影响。如果CDN缓存过期时间过短,CDN节点上的数据会经常失效,导致频繁回源,增加了源站的负载,同时也增大了访问延时;如果CDN缓存过期时间过长,会带来数据更新时间慢的问题。
缓存过期时间设置为0时,该文件的所有请求都将回源,可能存在加速业务中断的风险。
节点缓存的资源,可能会由于热度较低而被提前从CDN节点删除。
如果您修改了缓存规则,请注意:
新的规则仅对后面缓存的资源生效,已经缓存的资源需要等缓存过期后,再次缓存才会遵循新的缓存规则。
如果您想要新的规则对所有资源(包括节点已缓存资源)立即生效,请在修改缓存规则后执行缓存刷新操作。
CDN缓存操作步骤
1.登录华为云控制台,在控制台首页中选择“ CDN与智能边缘 > 内容分发网络 CDN”,进入CDN控制台。
2.在左侧菜单栏中,选择“域名管理”。
3.在域名列表中,单击需要修改的域名或域名所在行的“设置”,进入域名配置页面。
4.选择“缓存配置”页签。
5.在缓存规则模块,单击“编辑”,系统弹出“配置缓存策略”对话框。
6.单击“添加”,根据业务需求配置缓存策略,如图1所示。具体配置参数说明如表1所示,您还可以单击“查看缓存策略配置建议”查看推荐的配置。
图1 配置缓存策略
表1 缓存策略配置参数
7.(可选)通过单击缓存规则所在行的“删除”,删除不需要的缓存规则。
8.单击“确定”,完成缓存规则配置。
配置示例
配置场景1:某客户的域名“www.example.com”配置了CDN加速,缓存规则配置见下图。
配置结果:网站首页不缓存,所有页面均不会忽略URL参数。
配置场景2:设置某个类型的文件不缓存
某客户的域名“www.example.com”配置了CDN加速,由于业务需求,需要对“.do”格式的文件不缓存,同时所有文件都忽略URL参数。
需要在CDN控制台增加一条文件名后缀为“.do”的缓存规则,缓存过期时间设置为“0”。
说明:新规则仅对后续资源缓存生效,新规则配置完成后,建议您刷新“.do”文件所在的URL或者目录,新规则才可以对所有“.do”文件生效。
某客户配置了CDN加速,发现登录界面无限循环,无法登录,停用CDN加速后,可以正常登录。
这是因为CDN节点缓存了登录界面导致的,需要在控制台增加一条针对登录界面的缓存规则,缓存过期时间设置为“0”。以华为云控制台登录界面为例,华为云控制台的登录页面为“https://auth.huaweicloud.com/authui/login.html#/login”,在控制台增加一条全路径:/authui/login.html#/login,缓存过期时间为“0”的缓存规则。
配置场景3:某客户加速域名www.example.com设置了如下图的缓存规则,不知道哪一个规则生效。
用户访问www.example.com/test/cdn.jpg,虽然所有文件、文件名后缀、全路径三条规则都匹配到了,但是由于全路径的优先级为8,在三条规则里优先级最高,所以系统最终匹配全路径/test/*.jpg这条规则。
CDN节点
华为云CDN全球2800+节点,覆盖130+国家和地区;全网带宽高达180Tbps,无论身处何地,用户都可获得快速的网络体验。
全球精准IP库,具备自我进化能力,全网链路质量大数据实时分析、预测,精准调度最优节点,保障访问质量。
独创AICache技术+多级缓存调度,实时跟踪全局热度,超高速、大容量SSD存储,有效提升缓存命中率。
华为云CDN将源站资源缓存到遍布全球的加速节点上,当终端用户访问资源时,无需回源,CDN通过一组预先定义好的策略(如内容类型、地理区域、网络负载状况等),将当时能够最快响应用户的CDN节点IP地址提供给用户,使用户可以以最快的速度获得网站内容。