本文主要是介绍ATS名词术语(待续),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
ATS名词术语
副本(alternate)
缓存对象(cache object)的一种变体,最初创建该术语是为了处理HTTP协议中的VARY机制(RFC2616#sec14.44),现在多用于其它的目的。一个对象的所有副本必须以某种方式等价,也就是说,它们是同一个流的等价形式,最常用的一个例子就是,一个流既有普通版本也有压缩版本。
缓存分片(cache fragment)
缓存的内容存储单元,缓存的读操作每次只能读取一个完整分片,但是写操作可以按组一次写入多个完整分片。每个分片都对应一个缓存目录项,它描述了该分片在磁盘缓存中的存放位置,比如offset和长度。
缓存ID(cache ID)
磁盘缓存中一个对象固定长度(8字节)的标识符,由缓存key使用MD5哈希算法得到。
缓存Key(cache Key)
磁盘缓存中一个对象的全局唯一标识符,是字节序列,默认是缓存对象的URL。
缓存对象(cache object)
磁盘缓存中最小自含性(self contained)数据单元。缓存对象是源站返回的数据流的等价存储版本(因为可能会有些微修改)。单个对象可以有多个所谓的副本(alternate)。
缓存分区(cache partition)
ATS中根据相关协议,源站或是其它规则对缓存对象做区分和分开存储的一种磁盘划分机制。缓存分区的定义和管理的讨论详见《缓存划分》。
缓存容量(cache span)
storage.config
配置文件中每行描述的使用到的磁盘物理存储容量。
存储单元(storage unit)
缓存容量
的过时叫法。
缓存带(cache stripe)
单个缓存容量
(cache span)内的一类位于同一磁盘上的持久化缓存单元。一个缓存容量会包括多个缓存带,缓存带总是完全位于单块物理磁盘上,是最小独立的(即使发生磁盘故障)存放数据不受影响的存储单元。在相同缓存容量
内不同缓存带上存放的数据没有差别,仅是缓存带不同。
缓存标签(cache tag)
缓存ID的尾部几个比特(当前12bit),用于进行磁盘操作前对缓存目录项(cache directory)做的初步身份检查(identity check)。
缓存分卷(cache volume)
用户在配置文件volume.config
中定义的缓存持久化存储单元。为了增强健壮性,缓存分卷默认会分布到整个缓存容量
内部,缓存容量和缓存分卷的交集就是缓存带
。
目录项(directroy entry)
内存中用来描述一个缓存分片
的结构体,即源码中的Dir
。
目录桶(directory bucket)
相邻目录项
的固定大小(当前为4)的分组,用于哈希桶的维护和优化。
目录段(directory segment)
目录桶
的连续分组,每个缓存带
中都有一个目录段的集合,每个目录段中有相同数目的目录桶
。不同缓存带
中每个目录段所含目录桶
的个数略有不同。管理目录段的目的是让free list存放目录桶
的指针,并将free list存放目录桶
的指针。
写光标(write cursor)
新数据写到磁盘上的缓存带
的位置。
对象缓存(cache store)
缓存对象
的数据库。
新鲜度(fresh)
缓存对象
的一种状态,该状态下的缓存对象能直接从缓存中读出并响应客户端的请求。新鲜的缓存对象并不满足或是超过源站定义的过期时间,它们也还没有达到算法确定的过期时间(stale age)。
验证(revalidation)
验证当前缓存的对象是否合法(valid)。常常通过在请求头中添加If-Modified-Since
头来让源站验证内容的合法性,源站并不会再次发送回响应内容。
continuation
包含状态的一种可调用对象,ATS就是使用该机制去实现回调和连续计算。连续计算对网络流量(traffic)的高效处理非常重要,因为它能避免在等待外部事件发生时产生的任何阻塞操作(blocking operation),在任何情况下,使用continuation机制可以使得其它操作仍能继续进行,直至外部事件发生,然后立即调用该continuation去继续处理先前挂空的操作。也可以视作类似协程(co-routines)的处理。
事务(transaction)
包含客户端的请求和响应,响应可以来自源站,也可以来自缓存。一次事务开始于ATS接收到客户端请求,终止于ATS发送出响应。
会话(session)
客户端和ATS的一个网络连接,包括该连接上所有的请求和响应,随客户端打开连接而开始,随连接关闭而终止。
全局插件(global plugin)
可以操作所有事务的插件,相对于remap插件
。
remap插件(remap plugin)
一种特殊插件,它只对匹配上remap.config
配置文件中定义的特定重映射规则的那些事务
做操作,相对于全局插件
。
源站
能够提供原始内容让ATS缓存的一种HTTP服务器,常见的有Apache,nginx等。
这篇关于ATS名词术语(待续)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!