CDN加速介绍
以下图援引华为云CDN介绍图,比较清晰,不多赘述。
CDN加速服务器配置
CDN侧配置
本案例以华为云CDN服务为例。其他云服务提供商的CDN配置类似。
进入CDN管理台,选择添加域名。如下图示,加速域名填写“stacker.top”,业务类型按需选择,本案例选择“文件下载加速”。源站类型选择“源站IP”,空白框填写提供文件下载接口的服务器公网IP地址。如下图所示:
添加完成后,会生成一个加速域名,对应的CNAME。
DNS侧配置
本案例的stacker.top域名是阿里云上买的,所以配置域名相关内容要登录阿里云的DNS管理台。
选择stacker.top的域名,进行解析设置->添加记录。记录类型选择CNAME,值输入CDN生成的CNAME记录值。配置完成后如下图所示:
验证
找个节点ping一下stacker.top域名,如下图所示,可以看到解析到的域名已经是CDN的域名了。说明已经配置完DNS信息了。
浏览器上输入http://stacker.top/management/apps地址进行文件下载,选择保存本地后,进行下载。
可以看到速度不快,因为第一次调用该接口,CDN边缘节点还是没有缓存的。所以和没有CDN的情况下速度差不多。
第二次调用该接口进行文件下载,可以看到速度很快了。这就是CDN加速后的体验。
CDN对资源的管理
预热
CDN的预热就是为了防止内容上线后,CDN边缘没有内容,导致第一次访问速度慢,所以通过预热操作将内容缓存到CDN节点上。
实现原理也就是CDN自己模拟客户端调用一次待预热接口,将资源缓存到边缘节点。
以本案例为例,输入 http://stacker.top/management/apps地址进行预热。
预热完成后,再访问该地址,速度就是CDN加速后的体验。
缓存刷新
CDN加速的原理就是在用户就近的边缘节点进行内容缓存。那么回源服务器的内容变化后,需要有个刷新边缘节点缓存的操作,来保证边缘节点缓存与回源服务器的内容一致性。
这个时候缓存刷新就来了。操作也很简单,和预热类似,就是填写要刷新缓存的接口地址。如下图示意: