varnish缓存服务安装及工作原理详解


安装varnish :


yum -y install pcre*  ncurses-devel


tar  -zxvf varnish-2.1.2.tar.gz


cd varnish-2.1.2


./configure --prefix=/usr/local/varnish/ --enable-dependency-tracking  --enable-debugging-symbols --enable-developer-warnings 


make && make install



varnishd 工作流程:


varnishd处理http请求的过程,是通过Varnish的相关函数来定义。

当客户端向varnishd发出请求后,varnish会接收请求,进入Receive状态,根据vcl函数规则判断该请求应该进入Pass模式(由后端主机应答后,返回给Client,不缓存,Client每次都是获取最新内容)还是Pipe模式(将缓存的没有改变的内容返回给Client),还是进入Lookup(本地查询,在缓存中查找)。

当进入Lookup状态后,会在缓存中查找内容,若找到,则进入Hit状态,若没找到则进入Miss状态。

在Pass状态下,会进入后端请求Fetch状态。

在Fetch状态下,从后端获取数据,并将缓存进行本地存储。

Deliver状态下,将获取的数据返回给Client,完成本次请求。

discard模块,在缓存数据到期后或缓存空间不够时,自动调用该模块。

 



 Receive―――――― Pass  \  Pipe

      | |   

      | |   

      |  Fetch ―――――  

      |    ↑   |

      |    |  | 

   Lookup ――― Miss   |

     |  |

     |          ↓

   Hit ―――――――――――deliver

 


你可能感兴趣的:(工作原理,varnish安装)