运维 国内有哪些像 Fastly 一样可以通过 API 主动清除掉旧缓存的 CDN?

veetase · 2015年10月21日 · 最后由 charles 回复于 2015年10月23日 · 7772 次阅读

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 是最棒的。

  • 能够提供静态/动态资源的缓存
  • 能够提供 API 细化到 URL 甚至获取我自己所有的 key (像 redis 那样的 key xx*)
  • 能够做到 5s 内,全网所有资源缓存清空。(时间越短当然是更好) 对我来说,需求就满足的差不多了,再往下挖出来的需求当然是锦上添花,以及提供相对其他 CDN 提供商的差异化功能。

chinacache 可以根据单个 url 清理,或者根据目录进行清理

需要 登录 后方可回复, 如果你还没有账号请 注册新账号