该博文翻译自参考文献[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配置文件解读相关推荐

  1. Python中logging.config配置文件解读

    Python中logging.config配置文件解读 下面的函数用于配置logging模块,它们位于logging.config模块中.你可以使用这些函数来配置,也可以在logging或是loggi ...

  2. ATS 5.3.0中利用grep得到纯净的配置文件

    ATS 5.3.0中的配置文件通常会标有详细的注释,但是我们有时候需要纯净的配置文件,特别是在线上部署的配置文件,不需要这么详细的注释.下面是处理过程. cat records.config | gr ...

  3. ATS 5.3.0中开启最高级别的缓存调试信息

    近来在pptv,letv之类的站点响应中看到via头中有非常详细的缓存信息,我研究了一下,原来是ATS默认就支持的,以ATS 5.3.0中为例,修改records.config中的如下配置项: CON ...

  4. ATS 5.3.0中按域名生成日志配置文件log_hosts.config解读

    应用场景 该配置文件用于ATS用作反向代理模式,访问日志被server域名分隔.比如,我想将sohu和ifeng的域名的日志分别记在两个不同的日志文件中,其它的日志统一记在默认的日志文件中. 配置 为 ...

  5. ATS 5.3.0中自定义日志格式文件logs_xml.config解读

    缘起 近来因为公司项目需要,阅读了一部分ATS logging system的源码实现,越发觉得logs_xml.config文件的配置非常重要,而我目前只是实践了一点它的皮毛.为此,根据自己的理解, ...

  6. CentOS 6.3 64bit上测试ATS 5.3.0中的正则刷新插件regex_revalidate

    注意到ATS源码目录plugin/experimental/下面有regex_revalidate插件目录,我们在编译时添加--enable-experimental-plugins配置项就可以将其编 ...

  7. Asp.net中web.config配置文件详解

    转载地址:http://blog.csdn.net/hbqhdlc/article/details/8164521 web.config是一个XML文件,用来储存Asp.NET Web应用程序的配置信 ...

  8. Spring-boot中读取config配置文件的两种方式

    了解过spring-Boot这个技术的,应该知道Spring-Boot的核心配置文件application.properties,当然也可以通过注解自定义配置文件的信息. Spring-Boot读取配 ...

  9. cache.config配置文件解读

    这个是cdn配置缓存策略的文件,可以改变指定对象或是对象集的缓存参数cacheing paremeters 该文件默认存放在/usr/local/etc/trafficserver/,它定义了Traf ...

最新文章

  1. Windows系统顽固型文件清除方法
  2. php post处理,PHP处理GETPOST方法
  3. 在OpenShift上将JMS与JBoss A-MQ结合使用。 从远程客户端和加密中学到的经验教训。...
  4. Linux系统编程(八)线程
  5. 十大笔记本品牌型号命名规则【三星、苹果、明基】
  6. JavaScript学习(五十八)—作用域链
  7. pandasql库学习使用之在Python中执行SQL语句
  8. 单片机的现状即发展前景
  9. servlet中使用db4o
  10. 软考软件设计师-软件工程基础知识
  11. 电脑软件故障排除2014年2月16日[不断改进修正版]
  12. union和union all哪个效率高
  13. svg基础+微信公众号交互(一)
  14. 从表征到行动---意向性的自然主义进路(续四)
  15. 微信小程序—写字板、手写签名(高仿毛笔效果)让汉字引领世界
  16. flex布局(弹性盒子三)
  17. Android获取手机信号强度/信号格数
  18. 什么是RCCP,什么是CRP?
  19. 2021年中国网络零售行业发展现状及行业发展趋势分析[图]
  20. 二进制:基础、正负数表示、存储与运算

热门文章

  1. python之接口开发
  2. 2022-2028年中国车载天线行业市场前瞻与投资战略规划分析报告
  3. C++ 笔记(07)— 常量(字面常量、const定义常量、constexpr 定义常量、enum 定义常量、define 定义常量)
  4. 【leetcode】Roman to Integer
  5. virtual hust 2013.6.20 数论基础题目 D - Just the Facts
  6. C#WinForm的线程及Invoke应用(转)
  7. main方法_错误: 在类 ZiFUChuan.Pyramid 中找不到 main 方法, 请将 main 方法定义为:
  8. 字符串反转python_python字符串反转的四种方法详解
  9. Linux终端C语言实现图片拷贝
  10. spyder上怎样将figure框出来_怎样将数据中心现有的物理机和虚拟机平滑的迁移到云平台上?...