关于cdn的问题

网站流量大了,通过cdn服务商来分发静态文件(图片,css,js文件等),有一些问题
1.网站域名解析到cdn服务器,cdn服务商应该能做好分发,缓存,当文件或图片更新的时候,cdn节点上的缓存内容是否也会更新?
2.网站域名解析到cdn服务器,是不是其他什么事情都不用做了,不会有其他问题出现吗?过期的图片等是不是会自己消除掉?
没有过这种经验,总的说,如果要一个网站要用cdn来分发静态内容,要注意什么,有什么经验可以谈谈的。

回复
阅读 3.4k
2 个回答
  1. 静态资源对于cdn的使用,通常不是覆盖式的更新内容,而是通过一些标识(如文件内容md5)来添加一些新文件(如app.aaa.js, app.bbb.js等)。这么做的好处,一个是避免缓存带来的问题,能够做到上线了及时产生更新;二是回滚起来也很方便,切换回上一个版本静态资源的feed即可。

  2. 从比较方便的角度考虑,cdn资源的更新常见采用它们pull而不是我们push,即建立一个静态资源路径的映射即可。

  3. 用户访问cdn的静态资源,会先看是否命中最快的cdn的点上的资源,没有再逐层找或者去源头取(各个cdn服务商的实现可能不一样,包括缓存机制,各点的同步机制,对于push内容的更新等)。为了避免里面的坑,以及万一切换cdn提供商,所以上面才说最好是打标识添加文件,以及pull。

没有完全按照题主的问题答,不过希望能有所帮助。手机打字好累。。。=.=

第一个问题,cdn的静态资源需要更新有两种方式,一种就是对静态资源加上版本号。另一种就是手动将静态资源推到cdn。
第二个问题,cdn的缓存需要自己设置http的头max-age,当max-age的时间过期时,cdn会寻源找到你的服务器重新请求资源。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏