43
CDN工作机制

CDN(content delivery network),也就是内容分发网络,构建在网络上的一种流量分配网络。目的是将静态资源发布到用户网络的"边缘",使用户可以就近的取得所需的内容。 CDN= 镜像(mirror)+缓存(cache)+整体负载均衡(GSLB)。

CDN结点存储的是网站中的静态数据资源,如css,js,图片静态页面等。当从主站请求动态内容后,在从CDN上下载这些静态数据,从而加速网页数据内容。

CND请求数据流程:

CDN工作机制

具体流程如下:

1、client端请求logo.png 在 images.mydomain.com

2、DNS发现CNAME,回将请求发转给给CDN服务器

3、如果logo.png在CDN上失效了,那么会回源到源服务器去取

4、如果logo.png在CDN上没有失效,则向客户端返回logo.png

CDN动态加速

CDN动态加速技术,是指在CDN的DNS解析中通过动态的链路探测来寻找回源最好的一条路径。将所有的请求调用选定到这条路径上回源,从而加速用户访问的效率。

CDN好坏主要看命中率和回源算法是否高效。举个例子,比如我有一个图片,这个图片源服务器发送到CDN结点,文件在CDN的超时过期了,那么就要回源(回到源服务器)去拉取数据,在放到CDN中。这个算法就很重要了。因为CDN部署遍布全国,用户接入一个CDN结点后,选择什么路径最快,是要有算法做支持的。

CDN 命中率如果较低的原因是什么?

  1. 源站动态资源较多,多为不可缓存的内容,也会导致频繁回源拉取。
  2. 资源访问量较低,文件热度不够,CDN 收到请求较少无法有效命中缓存。
  3. 缓存配置不合理,缓存时间过短,CDN 节点频繁回源。
  4. 访问资源的 URL 带参数,并且参数不断变化,当用不同的 URL 去访问 CDN 的时候,CDN 会认为这是一个新请求(即便这两个不同的 URL 其实是访问到了同一个文件,并且该文件已经缓存在节点上),会回源去拉取所请求的内容。

CDN 什么情况下会回源拉取资源?

  1. 用户访问时,如节点上无缓存,则会回源拉取资源
  2. CDN 节点上的文件超时过期,会回源拉取资源
  3. 若为不缓存文件,用户访问时,会直接回源
  4. 未忽略 URL 参数域名,使用该形式域名带参数访问资源,会直接回源


这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!