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
ATS 5.3.0中parent.config配置文件解读相关推荐
- Python中logging.config配置文件解读
Python中logging.config配置文件解读 下面的函数用于配置logging模块,它们位于logging.config模块中.你可以使用这些函数来配置,也可以在logging或是loggi ...
- ATS 5.3.0中利用grep得到纯净的配置文件
ATS 5.3.0中的配置文件通常会标有详细的注释,但是我们有时候需要纯净的配置文件,特别是在线上部署的配置文件,不需要这么详细的注释.下面是处理过程. cat records.config | gr ...
- ATS 5.3.0中开启最高级别的缓存调试信息
近来在pptv,letv之类的站点响应中看到via头中有非常详细的缓存信息,我研究了一下,原来是ATS默认就支持的,以ATS 5.3.0中为例,修改records.config中的如下配置项: CON ...
- ATS 5.3.0中按域名生成日志配置文件log_hosts.config解读
应用场景 该配置文件用于ATS用作反向代理模式,访问日志被server域名分隔.比如,我想将sohu和ifeng的域名的日志分别记在两个不同的日志文件中,其它的日志统一记在默认的日志文件中. 配置 为 ...
- ATS 5.3.0中自定义日志格式文件logs_xml.config解读
缘起 近来因为公司项目需要,阅读了一部分ATS logging system的源码实现,越发觉得logs_xml.config文件的配置非常重要,而我目前只是实践了一点它的皮毛.为此,根据自己的理解, ...
- CentOS 6.3 64bit上测试ATS 5.3.0中的正则刷新插件regex_revalidate
注意到ATS源码目录plugin/experimental/下面有regex_revalidate插件目录,我们在编译时添加--enable-experimental-plugins配置项就可以将其编 ...
- Asp.net中web.config配置文件详解
转载地址:http://blog.csdn.net/hbqhdlc/article/details/8164521 web.config是一个XML文件,用来储存Asp.NET Web应用程序的配置信 ...
- Spring-boot中读取config配置文件的两种方式
了解过spring-Boot这个技术的,应该知道Spring-Boot的核心配置文件application.properties,当然也可以通过注解自定义配置文件的信息. Spring-Boot读取配 ...
- cache.config配置文件解读
这个是cdn配置缓存策略的文件,可以改变指定对象或是对象集的缓存参数cacheing paremeters 该文件默认存放在/usr/local/etc/trafficserver/,它定义了Traf ...
最新文章
- Windows系统顽固型文件清除方法
- php post处理,PHP处理GETPOST方法
- 在OpenShift上将JMS与JBoss A-MQ结合使用。 从远程客户端和加密中学到的经验教训。...
- Linux系统编程(八)线程
- 十大笔记本品牌型号命名规则【三星、苹果、明基】
- JavaScript学习(五十八)—作用域链
- pandasql库学习使用之在Python中执行SQL语句
- 单片机的现状即发展前景
- servlet中使用db4o
- 软考软件设计师-软件工程基础知识
- 电脑软件故障排除2014年2月16日[不断改进修正版]
- union和union all哪个效率高
- svg基础+微信公众号交互(一)
- 从表征到行动---意向性的自然主义进路(续四)
- 微信小程序—写字板、手写签名(高仿毛笔效果)让汉字引领世界
- flex布局(弹性盒子三)
- Android获取手机信号强度/信号格数
- 什么是RCCP,什么是CRP?
- 2021年中国网络零售行业发展现状及行业发展趋势分析[图]
- 二进制:基础、正负数表示、存储与运算
热门文章
- python之接口开发
- 2022-2028年中国车载天线行业市场前瞻与投资战略规划分析报告
- C++ 笔记(07)— 常量(字面常量、const定义常量、constexpr 定义常量、enum 定义常量、define 定义常量)
- 【leetcode】Roman to Integer
- virtual hust 2013.6.20 数论基础题目 D - Just the Facts
- C#WinForm的线程及Invoke应用(转)
- main方法_错误: 在类 ZiFUChuan.Pyramid 中找不到 main 方法, 请将 main 方法定义为:
- 字符串反转python_python字符串反转的四种方法详解
- Linux终端C语言实现图片拷贝
- spyder上怎样将figure框出来_怎样将数据中心现有的物理机和虚拟机平滑的迁移到云平台上?...