惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
SegmentFault 最新的问题
B
Blog
P
Proofpoint News Feed
美团技术团队
The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
A
About on SuperTechFans
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Vercel News
Vercel News
有赞技术团队
有赞技术团队
小众软件
小众软件
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Google DeepMind News
Google DeepMind News
Martin Fowler
Martin Fowler
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
aimingoo的专栏
aimingoo的专栏
H
Help Net Security
罗磊的独立博客
L
LangChain Blog
GbyAI
GbyAI
腾讯CDC
T
The Blog of Author Tim Ferriss
Microsoft Security Blog
Microsoft Security Blog

博客园 - 加菲猫

网宿科技股份有限公司投资者关系活动记录表(2014.3.30) 网宿科技投资者关系活动记录2016年10月31日 [转载]20131206 网宿科技电话交流会纪要 strlcpy和strlcat 114 的 dns 的解析测试 分析ext2文件系统磁盘分区结构 Scaling Redis [ZT] Linuxfs Readinglist wma/mp3等格式转换为apple有声电子书格式(m4b) 以及itunes导入码率设置 Progressive-download 对于文件格式的要求 CDN Origin Pull 牛项目 Harvest CDN设计:[笔记]Analysis of Enterprise Media Server Workloads Apple http live streaming 不支持windows? 关于pdf转doc (word) 的工具 - Solid Converter PDF Berkeley DB Hash、Btree、Queue、Recno 选择 一些校园招聘的题目和分析 6"电纸书/电子书 - PaperCrop pdf重排使用心得 A CAP Solution (Proving Brewer Wrong)
CDN设计 - 层级化的cache_A
加菲猫 · 2011-02-01 · via 博客园 - 加菲猫

本节主要来自 web caching 的 Chapter 7. Cache Hierarchies , 这节主要就是笔记。

cache层级化主要是为了提高命中率,cache无论是容量还是性能都是有限的,假如cache miss了,从neighbor cache获取内容一般来讲比从origin server好:  可以节约延迟和WAN的带宽。

层级化意味着多个cache,cache之间常见的关系是两种:parent-child, sibling-sibling , neighbor 和 peers的意义比较自由,可以包含这两种含义。

  • child cache 会将请求转到它的 parent , parent 会从自身cache,或者origin server, 或者其它cache来满足该请求。
  • sibling 的请求应该都是命中的,而sibling假如peer的请求没有命中,也不应该去试图获取该内容,它会返回一个表示出错的消息,sibling之间使用一些intercache协议来交互,来知道哪个peer有指定内容
  • parent-child, sibling-sibling 关系并非固定,一个cache可以作为某些cache的parent,同时是另外的cache的sibling;或者对于特定域的请求是parent,其它的是sibling
  • peers关系不一定对称,A可以发request给B,但是B不一定能够发request给A,一般来讲,parent-child关系都非对称,sibling关系常常是对称的

最后组成了 hierarchical topology ,

下面这个就不是hierarchical topology , 而是 mesh topology .

figs/WebC_0702.gif

7.2.1 Performance

要获得性能提升,需要一些条件(必须全部满足):

  • 一些本地没有得内容可以从peer得到
  • 从peer得到的cache hit比从origin server块
  • parent cache,的cache miss不会明显比origin server慢

假如parent cache 负载很重,或者neighbor cache 比较远,都会使性能受到影响,而且这些可能随着时间或者其他条件而不同,所以需要一些minitor tool来监控情况。

7.2.2 Nondefault Routing

Parent caches are useful when you need to force web traffic along a specific route in your network。 比如防火墙。一些机构还使用多个parent,因为一些链路可能便宜但是拥塞,而昂贵的链路比较快速,所以可以根据优先级来选择链路。

附言:我目前从事 Video CDN 的设计开发,也做Streaming Server cluster,折腾了8年了。CDN这个行业说新不新,说老不老,和CDN相关的文章有很多,但是说"大"概念的很多,人云亦云的很多,我想想把我这些年的经验东西写成一个系列,记录一些东西,有我实现过的,也有一些没有没有实现过的想法,有看书或者paper的得到的一些知识,还有业界的某些做法。

最近的工作的重心转移了,做技术研究的时间也越来越少,感觉这两年的文章越写越少,质量也低了,先把写系列的话放出来,可以避免自己食言:>

菊子曰 本文用菊子曰发布