Apache,Nginx 都有缓存功能,再加上 Redis 做动态数据的缓存,再加上 CDN,所以我还没有用过专门的缓存服务。
但是这些服务真是大名鼎鼎,即便不用,我也可以先列出来做个简单的了解。
- Apache Traffic Server,雅虎收购的一个商业产品,然后捐赠给 Apache 基金会。
- Nuster 一看仓库地址,多半是国人开发的
在 HAProxy 的基础之上做的,所以协议也跟随 HAProxy 采用 GPL 协议。
根据他自己提供的测试报告,性能远超另外几种缓存服务。
- Squid
- Varnish
相对 ATS 和 Squid,非常轻量级(直接利用 Linux 内存管理功能)
买点是高性能,广为流传的说法是 1 台 Varnish 可以抵 4 台 Squid
Varnish 和 Nuster 都只支持 Unix-like 系统,不支持 Windows。ATS,Squid 就没有系统依赖。
一些代理服务也支持缓存,比如 HAProxy, Polipo。
Polipo
卖点是资源占用小,可以运行在嵌入式设备中,比如 OpenWrt 路由器。
Polipo 项目的 GitHub 仓库已经归档,多年没有更新了。
参考资料与拓展阅读
- ICP, Internet Cache Protocol, ICP 协议,基于 UDP。AST 和 Squid 都支持 ICP 协议。
- CDP, Cache Discovery Protocol, 缓存发现协议,BT 下载用的。
- WCCP, Web Cache Communication Protocol, 思科开发,可能是弄路由器上,加速本地网络用的。