Chinaunix首页 | 论坛 | 博客
  • 博客访问: 432741
  • 博文数量: 43
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 518
  • 用 户 组: 普通用户
  • 注册时间: 2015-12-14 12:10
个人简介

邮箱:oxwangfeng@qq.com

文章分类

全部博文(43)

文章存档

2021年(1)

2018年(7)

2017年(9)

2016年(26)

我的朋友

分类: 架构设计与优化

2016-03-16 20:34:36

cache_range_requests插件:
background_fetch插件:
1.cache_range_requests插件和background_fetch插件都是相对于traffic server的range而开发的,都能够存储range数据;
2.
cache_range_requests是将range url进行rewrite,生成新的cache key(range范围不同cache key也不一样);当发送到源站的url是带有range的;源站返回206状态码,由于206ats是不缓存的,所以我们将206修改成200,这样就能cache了(按照以前设计的cache key保存);
3.background_fetch插件:当第一次range请求时,触发生成一个新的http 请求,这个请求和刚才的请求是一样的,不过去掉了range头部,然后发送给源站;这个新生成的http请求会返回给traffic server,由于返回给traffic server是200 status code,所以会保存在cache中;保存在cache以后,释放掉内存,这样就不会发送给客户端了;
4.cache_range_requests的缺点也是显而易见的,由于不同的range保存在不同的cache key上,所以当有range有重叠时,会浪费存储空间的;
5.background_fetch插件的缺点也是显而易见,初期会造成大量的回源,浪费点网络带宽;

未来发展方向:
1.nginx 1.9.8使用slice作为range处理,这是traffic server range的好的发展方向;



        
阅读(5463) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~