Fastly 目前在国内速度并不是很理想,不知道国内有没有类似的服务。
提供通过 API 支持清理老旧缓存 CDN 提供商很多,甚至没有 API 都可以麻烦点模拟登陆处理. 麻烦的在你提交了申请,CDN 的集群能在多长的时间内响应将老的缓存清理掉。
不过你也可以使用 rails 的思路,新的 css/javascript 文件加 MD5 来区别,这样 CDN 就会一直使用最新的 css/javascript 文件了。
对啊,为什么一定要去清除呢
#2 楼 @moliliang 有些时候你不得不采用同名文件更新的,cdn 也不仅是用来放 css/js 的
#1 楼 @wppurking Fastly 之所以标榜自己是 next generation CDN 就是它出了提供静态的 CDN 之外还提供了大量的 api 来主动清除旧缓存。这种功能可以拿来做除静态文件外的 API 缓存,比如 RESTFUL 里面 GET 类,rubychina index 就可以缓存起来,直到下一个人发新帖,主动去清除缓存。assets pipeline 我一直在用的。
昨天找了好久也没找到代替品,又拍和阿里都可以提供 api 来清除,但只能按单个 URL 来,相比 Fastly 太弱了,Surrogate Key 真的是非常方便。
@veetase 稍微了解一下 Fastly, 与我想象的 API 的设定更加细节一点。其实如果提供的 API 通过 URL 来清理缓存,无论是 css 还是 js 还是其他资源清理都还是可控的。对于 Surrogate Key 这个也是自行可控的 (在 CDN 方实现这个功能更加方便,因为他可以非常方便获取我所有含有 URL 元素的 key). 对我使用 CDN 来说,我控制不到的是从请求一次 purge 开始,到所有服务器上的资源全部 clear 要花多少时间,这个时间 instantly 是最棒的。
chinacache 可以根据单个 url 清理,或者根据目录进行清理