Traffic Server 可以加速Internet访问,增强web站点性能,同时也提供前所未有的网络托管能力。
Traffic Server是一个高性能的web代理缓存,它通过将频繁访问的信息缓存在网络的边缘来改善网络的效率和性能。这使内容在地理上更接近终端用户,在更快分发的同时也减少了带宽的使用。Traffic Server致力于通过充分利用现有可用的带宽来改善企业、ISP、骨干网提供商和大型企业内部网的内容分发。
Traffic Server有如下部署方式:
作为web代理缓存,Traffic Server接收用户直接发往web server(源服务器)的web内容请求。如果Traffic Server包含请求的内容,它将直接提供服务。如果请求的内容不在缓存里,Traffic Server将作为一个代理:为用户从源服务器取得请求的内容,并在本地保存一份拷贝用以服务将来相同的请求。
Traffic Server提供直接代理缓存功能,这需要配置用户的客户端软件将请求直接发送给Traffic Server。直接代理缓存将在“直接代理缓存”节讲述。
作为反向代理,Traffic Server需要配置为用户直接连接的源服务器(典型的用法是将源服务器的主机名解析到Traffic Server)。反向代理的功能也被称为服务器加速。反向代理的更多细节将在反向代理和HTTP重定向中描述。
Traffic Server可以灵活地参与多级缓存,当Internet请求不能在一个缓存中得到满足的时候,将被路由到其他区域的缓存,从而利用附近缓存的内容。在一个多级代理中,Traffic Server可以作为其他Traffic Server系统或者和其相似的缓存产品的父节点或者子节点。
Traffic Server支持ICP(Internet Cache Protocol)互连。多级缓存的更多细节将在多级缓存中介绍。
Traffic Server由若干一起工作的组件来组成一个便于监控和配置的web代理缓存。这些主要的组件将在下面介绍。
Traffic Server缓存由高速对象数据库Object store组成。对象数据库通过URL和相关的头部来索引对象。使用先进的对象管理,Object store可以缓存同一个对象(可能是不同的语言或编码类型)的替换版本。它同样可以高效地存储非常小和非常大的对象,从而最小化浪费的空间。当缓存被占满后,Traffic Server通过删除过期的数据来保证经常被请求的对象容易获取并有效。
Traffic Server被设计为容忍做缓存的磁盘全部失败。如果磁盘完成失败,Traffic Server会标记整个磁盘为被占用同时继续使用余下的磁盘。如果缓存的所有磁盘都失败了,Traffic Server会自动切换为单纯代理模式。可以对缓存进行分区来为专门的协议和源服务器存储数据预存一定数量的磁盘空间。更多关于缓存的信息见配置缓存。
Traffic Server维护着一个包含热点对象的微型RAM缓存。这个RAM缓存在尽可能快地服务大部分热点对象的同时也减少了磁盘负载,特别是在一些流量的高峰。可以根据需要来配置RAM缓存的大小;更多的细节见改变RAM缓存大小。
Traffic Server host数据库存储着源服务器连接的Traffic Server以满足用户请求域名服务器(DNS)。这个信息用来适应未来协议的交互以及性能的优化。随着其他信息,host数据库包含:
Traffic Server包含一个快速的、异步的DNS解析器来简化主机名和IP地址的转换。Traffic Server开始实现DNS解析器就是直接发送DNS命令数据包而不是依赖传统的慢速解析库。由于许多DNS查询可以并行发送,同时在内存的高速DNS缓存中维持着热点绑定(DNS,IP),DNS流量减少。
Traffic Server包括三个一起工作的进程来服务Traffic Server的请求,管理/控制/监控系统的健康状况。三个进程将会在下面描述:
下图说明了三个进程的关系。
Traffic Server提供如下的管理选项:
Traffic Server为流量分析和监控提供了若干选项:
Traffic Server支持若干标准的日志文件格式,比如Squid和Netscape以及其自定义的格式。可以通过现成的分析包来分析标准格式的日志文件。为了便于日志文件分析,可以按协议或者主机来分开生成日志文件。
流量分析选项的更多细节会在流量监控中描述,Traffic Server日志选项的描述在Working with Log Files。
Traffic Server提供了许多选项来确保Traffic Server系统和网络上的其他计算机进行安全的通信。安全选项如下:
Traffic Server安全选项更详细的描述见安全选项。