知识点
功能
1.Traffic Server缓存
TS 缓存包含一个高速的对象数据库,数据库根据 URL 和相关头部来索引对象,对于同一对象可以缓存不同版本(如不同的编码、语言)。
当缓存空间满后,TS 会移除过期的数据。
当磁盘出错时,TS 将不再使用该块磁盘,转而使用剩下的磁盘。所有磁盘都出错时,TS 将切换至 proxy-only 模式,即只代理,不缓存。
可分区,即可以给指定的协议和源服务器划分一定数量的磁盘空间
2.RAM 缓存
内存缓存区储存比较热门的对象,在流量的高峰期时能加快处理速度和降低磁盘负载。
3.主机数据库
储存 DNS 信息,方便主机名到 IP 地址的快速转换
储存每个主机的 HTTP 版本,方便高级协议特性的使用
储存主机的可靠性和可用性信息
4.DNS 解析器
TS 原生实现了 DNS 解析器,不依赖较慢的传统解析库。同时也降低了 DNS 的流量。
5.Traffic Server 进程
traffic_server 进程负责接受连接,处理协议请求,然后从缓存或源服务器获取对象并返回
traffic_manager 进程是 TS 的命令和控制设施,负责启动、监控和配置 traffic_server 进程,它也负责代理的端口配置、统计信息的接口、集群管理和虚拟 IP 的故障转移。
如果 traffic_manager 检测到 traffic_server 进程失效,它立即重启 traffic_server 进程并且维护一个连接队列,保存此时到来的请求,完全重启后这个队列里的连接将按顺序被处理。
traffic_cop 进程监视 traffic_server 和 traffic_manager 进程,此进程周期性的查询 traffic_server 和 traffic_manager 进程的健康状况,如果查询在一定间隔时间内未返回或者返回信息不正确,traffic_cop 将重启 traffic_manager 和 traffic_server
6.管理工具
Traffic Line 是命令行程序,可以用来快速监视 Traffic Server 的性能和网络流量,也能配置 TS。
Traffic Shell 也是命令行工具,进入该 shell 后有自己一套语法,可代替 Traffic Line 完成监控、配置任务。
通过 Traffic Line 和 Traffic Shell 对配置作出的修改将会自动写入配置文件中。
代理缓存机制
- Traffic Server 处理请求的过程
1)用户请求一个 web 对象,TS 收到请求
2)TS 通过对象的地址,在对象数据库(缓存)中去定位该对象
a.如果对象在缓存中,TS 会检查对象是否新鲜(fresh)
如果新鲜,TS 从缓存里返回该对象给用户,此时称为缓存命中(cache hit)
如果不新鲜(stale),TS 会连接源服务器去验证对象是否仍然新鲜,即重新验证(revalidation),如果仍然新鲜,TS 立即将缓存中的副本返回给用户
b.如果对象不在缓存中(缓存未命中,cache miss),或者缓存的副本不再有效,TS 会去源服务器获取对象,然后同时做下面两件事
将对象返回给用户
将对象放到本地缓存中
- Traffic Server 判断 HTTP 对象是否新鲜(fresh)的过程
如果有 Expires 或者 max-age 头部直接定义缓存的过期时间,TS将对比当前时间和过期时间去判断对象是否新鲜
如果没有上述头部,TS 将检查 Last-Modified 和 Date 头部(其中Date是源服务器返回对象的时间,如果没有 Last-Modified 头部,TS 会用对象写入缓存的时间以作代替),然后用以下公式算出新鲜的时间范围(freshness_limit,可理解为保质期):
freshness_limit = ( Date - Last-Modified ) x 0.1
0.1 这个参数可以作调整,并且能限制 freshness_limit 的上下限,默认最小是 1 小时,最大是 1 天
如果没有 Expires 头部或者没有 Last-Modified、Date 头部,TS 将使用默认的 fressness limit
另外,TS 还会检查 cache.config 配置文件中的 revalidate 规则,该规则可以对特定的 HTTP 对象设置特定的验证时间(特定的域名、IP、一定规则的 URL、特定的客户端等等)
- 缓存过期(stale),Traffic Server 去源服务器重新验证对象可能的情况
仍然 fresh,TS 重置 freshness_limit,并返回对象
对象新副本可用,TS 缓存新对象,并同时返回给用户
源服务器上的对象不再存在,TS 也不再返回该副本给用户
源服务器没有响应,TS 返回过期的对象并发出警告。
网友评论