varnish缓存代理配置

varnish

  • 一、varnish原理
    • 二、varnish相关参数
      • 三、安装部署varnish
        • 四、varnish配置相关介绍
          • 五、varnish完整配置实例
            • 六、varnish相关操作命令

一、varnish原理

1.varnish简介
varnish缓存是web应用加速器,同时也作为http反向缓存代理。可以安装varnish在任何http的前端,同时配置它缓存内容。与传统的squid相比,varnish具有性能更高、速度更快、管理更加方便等诸多优点。有一部分企业已经在生产环境中使用其作为旧版本squid的替代方案,以在相同的服务器成本下提供更好的缓存效果,Varnish更是作为CDN缓存服务器的可选服务之一。
根据官 的介绍,Varnish的主要特性如下:
varnish官

2.Varnish与Squid对比
(1)相同点

(2)Varnish的优势

(3)Varnish的劣势

(4)Varnish劣势的解决方案

3.使用varnish作为web代理缓存的原理
varnish是一个http反向代理的缓存。它从客户端接收请求,然后尝试从缓存中获取数据来响应客户端的请求。如果varnish不能从缓存中获得数据来响应客户端,它将转发请求到后端(backend servers),获取响应同时存储,最后交付给客户端。
如果varnish已经缓存了某个响应,它比传统的后端服务器的响应要快很多,所以需要尽可能是更多的请求直接从varnish的缓存中获取响应。
varnish决定是缓存内容或者是从后端服务器获取响应。后端服务器能通过http响应头中的Cache-Control来同步varnish缓存内容。在某些条件下varnish将不缓存内容,最常见的是使用cookie。当一个被标记有cookie的客户端web请求,varnish默认是不缓存。这些众多的varnish功能特点都是可以通过写vcl来改变的。
4.varnish的简单架构
Varnish分为management进程和child进程。

5.varnish主要配置部分
配置主要分为:后端配置、ACL配置、probes配置、directors配置、核心子程序配置几大块。其中后端配置是必要的,在多台服务器中还会用到directors配置,核心子程序配置。

二、varnish相关参数

1.VCL中内置预设变量:变量(也叫object)

2.特定功能性语句

3.return语句
return语句是终止子程序并返回动作,所有动作都根据不同的vcl子程序限定来选用;
https://www.varnish-cache.org/docs/4.0/users-guide/vcl-built-in-subs.html
语法:return(action)

4.varnish中内置子程序
注:varnish内置子程序均有自己限定的返回动作return,不同的动作将调用对应下一个子程序。
(1)vcl_recv子程序
开始处理请求,通过return(动作);选择varnish处理模式,默认进入hash缓存模式(即return(hash);),缓存时间为配置项default_ttl(默认为120秒)过期保持时间default_grace(默认为10秒)。该子程序一般用于模式选择,请求对象缓存及信息修改,后端节点修改,终止请求等操作。

(2)vcl_pipe子程序
pipe模式处理,该模式主要用于直接取后端响应内容返回客户端,可定义响应内容返回客户端。该子程序一般用于需要及时且不作处理的后端信息,取出后端响应内容后直接交付到客户端不进入vcl_deliver子程序处理。

(3)vcl_pass子程序
pass模式处理,该模式类似hash缓存模式,仅不做缓存处理。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年6月28日
下一篇 2020年6月28日

相关推荐