第二章:使用CDN —《高性能网站建设指南》读书笔记
CDN一般是通过多条骨干网络建立在多个地理位置,将内容复制分发到多台服务器上。详细的介绍可以看wiki关于CDN的描述。
多数CDN由ASP提供,少数大型互联网或网络企业建立了自己的CDN,有些开发自己内部的CDN软件,有些购买使用CDN商用软件。
CDN一般是针对静态内容进行缓存,如js、css、html、图片等,对开发和用户都是透明的,但在更新静态资源的时候可能会遇到这样的一个问题:
比如某站的global.css文件已经通过CDN缓存到多台服务器上,当需要更改global.css中的内容时,
(1) 浏览器缓存的更新。老用户(指浏览过页面的用户,且有内容被缓存在本地)在普通状态下不强制刷新页面的话,浏览器会优先读取缓存的内容,可以通过在静态文件后增加时间戳、版本号等,改变url来强制浏览器刷新。如:<link rel="stylesheet" type="text/css" href="global.css?20100510" />
。
(2) CDN缓存的更新。大多CDN提供商在控制面板中有URL推送服务,可刷新所有节点上的缓存。针对此类的测试,可以重新Host的方式,指定访问主服务器来测试,或指定其他服务器对CDN更新后的跟踪。
CDN服务的租用是比较昂贵的。国内比较大型ASP有ChinaCache、帝联等。
ps:书中提供的两个测试地址:
在国内测试的结果反倒是没有使用CDN的更快。查看其中使用到的CDN地址:us.js2.yimg.com和us.i1.yimg.com,提供的节点可能比stevesouders.com距离咱更远吧。