ATS 5.3.0中parent.config配置文件解读

该博文翻译自参考文献[1]

parent.config

parent.config文件识别用在缓存分级中的父代理,用这个文件去执行下面的配置:
  • 搭建父分级缓存,兼容多父级缓存和父级缓存故障转移
  • 配置指定的URL请求避开父代理缓存
仅当父缓存选项开启后,ATS才能使用parent.config文件。
当你修改parent.config文件后,运行traffic_ctl config reload命令去让变更生效。当你对集群中的一个节点更新配置时,ATS会自动将配置更新应用到集群中的所有其它的节点。

格式
parent.config中每行必须包含一个parent caching rule,ATS识别三个空格分隔的标签:
primary_destination=value secondary_specifier=value  action=value
下表给出了primary_destination的目标和它们的允许值:
dest_domain
请求的域名和子域名
dest_host
请求主机名
dest_ip
请求的IP地址或是IP地址范围,使用短杠-分隔
url_regex
URL中的正则表达式(regex)


secondary specifiers在parent.config中可选,可能的指示符和允许的值如下:
port
请求URL的端口
scheme
       请求URL的协议:http或https
prefix
请求URL的path前缀
suffix
请求URL的path后缀
method
请求URL的方法,可以为get,post,put,trace中之一
time
父缓存服务请求的时间段,比如 08:00-14:00,这个功能太牛逼了
src_ip
client的IP地址
internal
       布尔值true或false,指定该规则是match还是not match一个来自内部API(也就是插件自身触发的)的transaction,比如background_fetch插件发送的http请求


下表给出了可能的actions和它们允许的值
parent
父服务器列表,假如请求不能被列表中的最后一个父服务器处理,将会直接回源,可以使用域名或是IP地址指定,但必须指定端口号
round_robin
下列值之一:
true  ATS基于client IP地址轮询方式遍历父缓存
strict ATS严格依照次序处理请求,比如proxy1服务第一个请求,proxy2服务第二个请求,等等
false  禁用轮询父缓存方法
consistent_hash  url一致性hash,以便于一个给定url只有一个父缓存服务,假如一个父缓存宕机,ATS会跳过该宕机的父缓存去重新对剩下的父缓存们做一致性hash,
                 其它流量不受影响,一旦宕机的父缓存再次可用时,流量分布会重回宕机前的状态
go_direct
下列两个值之一:
true  请求会跳过父级缓存直接回源
false 请求不跳过父级缓存,按正常思路走呗

示例
下面的规则配置了一个一子两父(p1.x.com和p2.x.com)的分级缓存,ATS会转发它不能serve的请求到父服务器p1.x.com和p2.x.com,使用轮询方式
round_robin=true
dest_domain=. method=get parent="p1.x.com:8080; p2.y.com:8080" round_robin=true
round_robin=consistent_hash
dest_domain=. method=get parent="p1.x.com:8080|1.0; p2.y.com:8080|2.0" round_robin=consistent_hash

下面的规则配置了ATS将所有含有正则表达式politics和path为/viewpoint的请求直接到源站(跳过任何父级缓存):
url_regex=politics prefix=/viewpoint go_direct=true

注意
parent.config中 每行必须包含parent=或go_direct=指示符

参考文献
[1].https://docs.trafficserver.apache.org/en/latest/reference/configuration/parent.config.en.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值