如果我正确理解这一点,我有两个select静态文件:
所以我认为它是要么select,要么我需要一个单独的域然后使用CDN从该域中获取文件? 因为我假定即使我有一个CDN,我仍然需要在我的主站点或静态内容站点(如static.domain.com)的某个地方有一个静态内容的本地副本?
根据您使用CDN设置的方式,您可能需要一个单独的域来存储静态文件作为CDNcaching的来源。 是否使用CDN取决于应用程序的性能要求,而不是networking体系结构。
如果您提供的内容非常多,需要您购买大量额外的带宽,或者如果您有严格的响应时间要求,并且希望find最终用户附近的文件,则投资CDN可能一个明智的select。 从本质上讲,CDN只是一个caching层,在你自己的文件的前面,而且是地理分布的。
你看到它使用最频繁的安排是设置一个域(origin.example.com),为您的静态文件提供服务。 但是,当您input这些文件时,不要指向指向您设置为将CDN指向(static.example.com)的域的原点。 CDN会自动将文件的caching版本保存在一定数量的帐户中,并减less服务器上的负载,称为“原始服务器”。 许多CDN只使用单层caching,称为边缘层,但也有一些还包括第二个叫做midteir的teir。 在这种情况下,您可能有遍布全球的n台边缘服务器查询称为midteir服务器的区域主服务器。 然后这些将会更新原点,进一步减less原始服务器获得的点击次数。
您不需要CDN或单独的域来有效地提供静态文件。 caching(反向)代理将非常有效。 只要确保你有相应的标题设置。 我build议看看Varnish和Nginx。
如果你关心缩放和性能,我还会推荐John Allspaw和Theo Schlossnagle的着作。