标签:default http 代理服务 service 使用 服务 obj 接口 persist
Varnish是一款高性能的开源HTTP加速器,具有反向代理,缓存的功能。
缓存类型:代理式缓存(递归方式);旁挂式缓存(迭代)
缓存机制:过期机制(Expires)、条件式缓存(通过最近文件修改时间戳或Etag的扩展标签来辨别)。
过期时间:Expires
HTTP/1.0
Expires:过期
HTTP/1.1
Cache-Control: maxage= (私有缓存,单位秒)
Cache-Control: s-maxage= (共有缓存)
缓存层级:
私有缓存:用户代理附带的本地缓存机制;
公共缓存:反向代理服务器的缓存功能;
条件式请求:
Last-Modified/If-Modified-Since:基于文件的修改时间戳来
判别:Etag/If-None-Match:基于文件的校验码来判别;
User-Agent <--> private cache <--> public cache <--> public cache 2 <--> Original Server
Web Page Cache:squid --> varnish varnish官方站点: http://www.varnish-cache.org/
缓存空间耗尽:LRU,最近最少使用;
web后台restful简单架构模型
应用运维三大日程工作:发布-----变更-----故障处理
程序架构:
Manager进程
Cacher进程,包含多种类型的线程:accept, worker, expiry, ...
shared memory log:统计数据:计数器(处理请求,时间,hit数,miss数);日志区域:日志记录;
varnishlog, varnishncsa, varnishstat...
配置接口:VCL vcl complier --> c complier --> shared object
varnish的程序环境:
/etc/varnish/varnish.params: 配置varnish服务进程的工作特性,例如监听的地址和端口,缓存机制;
/etc/varnish/default.vcl:配置各Child/Cache线程的缓存策略;
主程序:/usr/sbin/varnishd
CLI interface:/usr/bin/varnishadm 如varnishadm -S /etc/varnish/secret -T 127.0.0.1:6082 (默认6082为varnish管理端口)
Shared Memory Log交互工具:
/usr/bin/varnishhist /usr/bin/varnishlog /usr/bin/varnishncsa /usr/bin/varnishstat /usr/bin/varnishtop
测试工具程序:
/usr/bin/varnishtest
VCL配置文件重载程序:/usr/sbin/varnish_reload_vcl
varnish服务
/usr/lib/systemd/system/varnishlog.service
/usr/lib/systemd/system/varnishncsa.service 日志持久的服务;
varnish工作逻辑
vim /etc/varnish/varnish.params
其中需要把端口改为80 (默认6081),管理地址为本机,管理端口为6082(默认),以varnish身份运行
varnish的缓存存储机制( Storage Types):
· malloc[,size] 内存存储,[,size]用于定义空间大小;重启后所有缓存项失效;
· file[,path[,size[,granularity]]] 磁盘文件存储,黑盒;重启后所有缓存项失效;
· persistent,path,size 文件存储,黑盒;重启后所有缓存项有效;实验状态;
标签:default http 代理服务 service 使用 服务 obj 接口 persist
原文地址:http://www.cnblogs.com/heiye123/p/7774146.html