集群能够对缓存的内容进行一致性hash,从而将IO分散到集群内的所有机器上,并且在任何一台机器宕机的情况下,整个集群的hash不会产生波动。
安装:
TS官方目前并没有提供RPM包等二进制版本,我们以当前业内最常用的CentOS 5.5 64位系统为例进行TS的编译安装。另:http://zymlinux.net/trafficserver/下有已经打包好的RPM包可以供测试使用。
准备工作:
CentOS 5.5 64位系统,简单安装,不启用RAID、软RAID等在apache官网下载TS的源码包:http://trafficserver.apache.org/downloads.html
安装好TS编译安装需要的几个软件包:
autoconf automake make libtool gcc-c++ glibc-devel openssl-devel tcl-devel expat-devel db4-devel pcre-devel
下载:
wget -c http://www.apache.org/dist/trafficserver/trafficserver-2.1.3-unstable.tar.bz2
解压:
tar vjxf trafficserver-2.1.3-unstable.tar.bz2
编译:
cd trafficserver-2.1.3-unstable
./configure
make
安装:
make install
TS将以默认的/usr/local/为根目录,安装进系统中。
配置:
TS可以作为很多角色配置使用,首先以CDN常用的网络加速服务器(反向代理服务器),加速cdn.zymlinux.net为需求配置一个TS的服务。
第一次测试配置:
1. 修改records.config文件:
CONFIG proxy.config.cluster.ethernet_interface STRING eth0,根据机器的配置将eth0修改为实际的网络接口
CONFIG proxy.config.http.server_port INT 8080,8080改为80
2. 修改remap.config文件:
在后面增加一行:map http://cdn.zymlinux.net/ http://source.zymlinux.net
3. 启动服务:
trafficserver start
TS服务的验证:
执行:ps aux | grep traffic
如果启动成功应该显示三个进程t r a f f i c _ c o p,traffic_manager和traffic_server
执行:echo -e "GET http://cdn.zyml inux.net/trafficserver/ts75.png HTTP/1.0\r\n\r\n" | nc -i 1 localhost 80 | head -n 13
显示如下:
HTTP/1.0 200 OK
Date: Mon, 11 Oct 2010 16:49:30 GMT
Server: ATS/2.1.3-unstable
Last-Modified: Sun, 18 Jul 2010 07:04:15 GMT
Accept-Ranges: bytes
Content-Length: 9520
Cache-Control: max-age=3600
Expires: Mon, 11 Oct 2010 17:49:30 GMT
Content-Type: image/png
Age: 0
Via: HTTP/1.1 localhost.localdomain (ApacheTrafficServer/2.1.3-unstable
[cMsSfW])
再次执行上面的命令后,输出将变为:
HTTP/1.0 200 OK
Date: Mon, 11 Oct 2010 16:49:30 GMT
Server: ATS/2.1.3-unstable
Last-Modified: Sun, 18 Jul 2010 07:04:15 GMT
Accept-Ranges: bytes
Content-Length: 9520
Cache-Control: max-age=3600
Expires: Mon, 11 Oct 2010 17:49:30 GMT
Content-Type: image/png
Age: 234
Via: HTTP/1.1 localhost.localdomain (ApacheTrafficServer/2.1.3-unstable [cHs f ])
第二次配置,上面的配置为最初始配置,TS将使用/usr/local/var/trafficserver目录作为默认存储设备,生成一个256M的cache.db文件作为缓存的存储。修改配置,使用硬盘sd[b-f]为存储设备:
1. 修改storage.config文件:
注释掉:/var/cache/trafficserver 256M
增加:
/dev/sdb
/dev/sdc
/dev/sdd
/dev/sde
/dev/sdf
2. 由于TS默认以nobody:root权限运行,而CentOS的硬盘属主是root:disk,属性是660,因而TS默认设置无法直接读写硬盘设备。修改系统设置以允许TS直接使用物理设备,如可以采用修改sd[b-f]为任何人可写:
chmod go+rw /dev/sd{b..f}
3. 重新启动服务,以使TS采用新的硬盘:
trafficserver restart
(作者单位为淘宝网)
(文章来源:《中国教育网络》杂志2011年2-3月合刊)
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。