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状态码,由于206是ats是不缓存的,所以我们将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) |