最近抽风看了一些cdn cache逻辑的实现代码,尤其是内存和磁盘的热冷交替逻辑,有些新的. 另外又重温了下淘宝叔度的文章,关于淘宝swift热点迁移的事… 感叹,cdn也是服务端开发的一个极致了.
该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新. http://xiaorui.cc/?p=1144
对于传统的CDN服务,更多的是放在一个磁盘上,当然也有不少公司进一步用内存层又做了高热度的缓存。 一个最快的内容,和一个相对慢不少的机械硬盘,他们如何做到更好的命中数据及更快的返回数据。 以前跟同事聊过,他是letv的cdn开发之一…. 现在一些互联网公司自己开发cdn的时候,会考虑到把频率较多的文件,加载在内容中,然后又nginx或者是另一个组件维护一个hash对应的表,但是问题来了,内存毕竟是有限的,而且是很有限的。 这时候,可以适当的用小盘的ssd,来充当二层热度的cache缓存层。
最热的数据放在内容中,其次的数据是放在ssd闪存里面,最差的缓存cache是放在sata里面。
mem,ssd,sata的本身性能,我向大家也都知道, memory > ssd > sata ,价格方面是倒过来的….