【发布时间】:2021-12-19 04:44:10
【问题描述】:
假设我们有一个处理用户上传内容的主服务器。
主服务器接收文件并将其发送到 CDN。 CDN 如何如此迅速地将新文件分发到全球所有节点?将内容单独发送到每个节点不是需要几分钟吗?
【问题讨论】:
-
“将内容单独发送到每个节点不会需要几分钟” 这个陈述基于什么假设?为什么你认为这是事实?我们在谈论什么文件?这需要几秒钟,具体取决于几个 mig 的路线,如果我们谈论的是 600GB 的 zip 文件,则需要几个小时。
-
另外,您通常不会上传到 CDN(如果我们谈论的是 cloudflare 之类的东西)。您的内容只是在您的服务器上,当为新用户提供服务时,由于用户通过 Cloudflare 连接到您的网站,CDN 从您那里获取资源并在将其提供给用户时将其缓存。这样,来自同一区域的下一个用户将从缓存的内容中获得服务。 (这是一个非常简单的模型,并不完全是 CF 所做的,但它给了你一个思路)
-
@user206904 假设这是一个 200 mb 的文件。它必须经过每个 CDN 节点,以便世界各地的所有用户都可以从他们的本地节点访问它。转会期间会发生什么?用户如何获取内容?
-
不,它不必到处走。正如我所说,根据请求,在服务时,节点会保留一个副本(第一个连接),如果节点已经有一个副本,它会直接为它提供服务,而无需连接到您的主服务器。如果您的网站从未被中国人访问过,您的文件将不会缓存在为中国服务的节点上。你真的没有提供任何细节。每家公司都可以(并且确实)按照他们想要的方式实施事情,没有独特的公式。另外,像 DG 和 CF 这样的服务不会缓存你的 200MB 文件,它们主要缓存 CSS、JS、图像等
-
我真的很惊讶这个问题由于“缺乏澄清”而仍未结束。您没有指定任何详细信息,以便我们给出答案
标签: cdn