3

我有兴趣了解为什么如此多的服务(如 Twitter 和 Facebook)以他们的方式命名他们的 CDN 文件。看着http://25.media.tumblr.com/tumblr_m6m6g57NgY1qdhfhho2_1280.jpg我有一些观察性问题:

  1. 他们是否使用多个子域(25.media、26.media 等)从单个域卸载 DNS 查询?看起来 storage.tumblr.com 对他们所有的图片来说已经足够了,因为 S3 只是有一个大桶的概念。
  2. 他们是否在文件名中插入了一个散列字符串以防止从网络收集工具中连续遍历?这似乎是个好主意。获取文件名并在其上附加一些垃圾,对其进行哈希处理,然后将该哈希插入到 tumblr_XXXXXXXXXXXXXXXXXX_1280.jpg 文件名中。
4

2 回答 2

4
  1. 浏览器对单个域可以发出多少并行请求是有限制的,使用多个子域意味着更多的并行请求。见:http: //yuiblog.com/blog/2007/04/11/performance-research-part-4/

  2. 由于您描述的原因,他们可能使用看似随机的文件名。但更有可能的是,他们使用它来确保文件名的唯一性,并且如果文件发生更改,缓存也会失效,从而确保所有用户都看到最新版本。

于 2012-07-05T07:07:00.740 回答
0
  1. 多个子域的另一个可能原因是它们可能正在使用多个媒体容器,因为每个容器可以容纳(或应该容纳,以保持快速运行)的对象数量的限制。单个容器中的太多对象会减慢速度向下)。
于 2013-07-21T20:44:11.577 回答