写在前面:如果此文有幸被某位朋友看见并发现有错的地方,希望批评指正。如有不明白的地方,愿可一起探讨。
varnish工作原理
如上图所示:varnish与一般服务器软件相似,分为master进程和child进程。master进程读取存储配置文件,调用合适的存储类型,然后创建/读入相应大小的缓存文件,接着master初始化管理该存储空间的结构体,然后fork并监控child进程。child进程在主线程的初始化过程中,将前面打开的存储文件整个mmap到内存中,此时创建并初始化空间结构体,挂到存储管理结构体,以待分配。child进程分配若干线程进行工作,主要包括一些管理线程和多个worker线程。
varnish工作流程图
简单的varnish应用架构拓扑图
待续...