企业级——Varnish缓存

一、 Varnish

  1. 作用

Web应用加速器,同时作为http反向缓存代理

  1. 特点
  • Varnish可以使用内存也可以使用硬盘进行数据缓存
  • 支持虚拟内存的使用
  • 有精确的时间管理机制
  • 状态引擎架构:通过特定的配置语言设计不同的语句
  • 以二叉堆格式管理缓存数据
  1. Varnish的优势
  • Varnish访问速度快,因为采用了“Visual Page Cache”技术,在读取数据时直接从内存中读取
  • Varnish支持更多的并发连接,因为varnish的TCP连接比squid快
  • Varnish通过管理端口,使用正则表达式批量的清除部分缓存
  1. Varnish的劣势
  • 进程一旦crash或重启,缓存的数据将从内存中完全释放
  • 在多台varnish实现负载均衡时,每次请求都会落到不同的varnish服务器中,造成url请求可能会穿透到后端

    1)劣势解决方案

    A、在varnish的后端添加squid/nignx代理,这样防止了当varnish缓存被清空时,瞬间大量的请求发往web服务器

    B、在负载均衡上做url哈西,让单个url请求固定请求到一台varnish服务器上

  1. Varnish的组成

1) Management进程(管理进程)

​ 对child进程进行管理,同时对vcl配置进行编译

2) Child进程(子进程)

​ 生成线程池,负责处理用户请求

  1. Varnish配置组成

后端配置:指定后端服务器

ACL配置:为varnish添加访问控制列表,用于规则设置

Probes配置:实现后端服务器的健康检查

Directors配置:为varnish添加集群

核心子进程:为后端服务器、缓存、访问控制、错误处理等功能添

二、CDN

CDN 又叫 内容分发网络,就是可以让每个地区的人访问一个就近的网络节点,这个节点就叫做 CDN 节点。
1.如果该CDN节点上没有你想要的数据,那么该节点就会从 CDN源站 上获取数据,然后在该节点上保存数据缓存。
2.如果该地区有多个 CDN 节点,那么 就会按照负载来判断该访问哪个 CDN 节点。

你可能感兴趣的:(学习,linux,运维)