◆Varnish
高性能、开源的反向代理服务器和内存缓存服务器。
优点: 1. 高性能;
2. 多核支持;
3. 支持0-60秒的精确缓存时间。
缺点: 1. 不具备自动容错和恢复功能,重启后数据丢失;
2. 在线扩容比较难。
3. 32位机器上缓存文件大小为最大2GB;
4. 不支持集群。
应用场景:并发要求不是很大的小型系统和应用。
◆Squid
很古老的反向代理软件,拥有传统代理、身份验证、流量管理等高级功能,但是配置太复杂。它算是目前互联网应用得最多的反向缓存代理服务器,工作于各大古老的cdn上。
优点: 1.完整的庞大的cache技术资料。
2.很多的应用生产环境
◆Nginx
1.不支持带参数的动态链接。
2.Nginx缓存内部没有缓存过期和清理的任何机制,这些缓存的文件会永久性地保存在机器上,如果要缓存的东西非常多,那就会撑暴整个硬盘空间。
3.只能缓存200状态码,因此后端返回301/302/404等状态码都不会缓存,假如恰好有一个访问量很大的伪静态链接被删除,那就会不停穿透导致后端承载不小压力
4.Nginx不会自动选择内存或硬盘作为存储介质,一切由配置决定,当然在当前的操作系统里都会有操作系统级的文件缓存机制,所以存在硬盘上也不需要过分担心大并发读取造成的io性能问题。
◆总结:
缓存加速(静态加速、节省带宽、边缘推送):Varnish > Squid >Nginx
反向代理(路由加速、隐藏主节点):Nginx > Varnish > Squid
转载于:https://blog.51cto.com/11859650/1911235