CDN 是否真的将数据转储到客户端或传递内容的 URL?

CDN 是否真的将数据转储到客户端或传递内容的 URL?

我很好奇,举个例子:

Facebook 是 Akamai CDN 的客户。

因此,现在当我登录我的 Facebook 页面时,我可以看到所有内容(视频、图片、文本等),单击视频即可观看。现在,Facebook 是 Akami 获取内容的客户端。

那么,当 Facebook 向 Akami 发出请求时,Akamai 是否会将视频/图像从其数据中心转储到 Facebook 的数据中心,并在那里驻留一段时间(取决于他们的启发式方法),然后在一段时间后刷新?

或者,我直接从 Akamai 的服务器上观看该视频(流式传输)?

更新1

数据永久驻留在 CDN 中(同意),但也是发送到 Facebook 数据中心的内容的副本

更新2

好的,那么根据 Josh 的回答,这张 Akamai 架构的图像,我可以说,“图像”实际上存储在 akamai 的服务器中,并且图像的引用(URL)在我们看到的 Facebook HTML 页面中吗?

在此处输入图片描述

答案1

Akamai 的配置是高度可配置的,但通常情况下,您可以定义要存储的内容类型以及存储时间(在 Akamai 的网络和用户的浏览器上)。Akamai 还拥有多层级系统,因此如果用户从本地 Akamai 服务器发出请求,如果它没有内容,它将从父层级请求。如果该父层级没有内容,父层级将从祖父层级请求内容。之后,Akamai 祖父层级将从原点请求内容。一旦它提取内容并将其发送给用户,它就会将其存储在缓存中(在每个层级)。任何后续请求都由 Akamai 网络处理。如果不再请求该内容,它最终会从缓存中清除。如果 Akamai 服务器很忙,未使用的内容将比服务器不忙时更快地被清除。

我不相信 Akamai 有能力将用户内容存储在他们的服务器上,他们的网络不是为此设计的。当你将图片上传到 Facebook 时,你就是将其上传到 Facebook 的服务器(我记得在 Facebook 上读过一份白皮书自定义文件系统处理图像请求)。

在普通网站上,Akamai 最多可以拦截 95% 的流量,具体取决于配置。在这种情况下,我认为拦截率不会这么高,但任何百分比都会有帮助。

一开始,我认为 Akamai 帮不上什么忙,因为普通用户的个人资料元素访问量不足以产生影响。但经过进一步思考,我发现,如果你是所在地区的热门用户,那么当其他人通过同一个本地 Akamai 服务器访问你的 FB 个人资料时,将你的图片缓存在本地 Akamai 服务器上可能会有所帮助。

使用 Akamai 的真正好处在于名人页面、公司页面,或者只是 Facebook 网站的静态元素 (css/js)。任何高容量的内容

因此,考虑到所有这些,我的假设是,对于普通用户的个人资料,当您将其上传到 Facebook 时,它们会存储在 Facebook 的服务器上。当您请求它们时,Akamai 会返回 Facebook 的原始服务器,将其提取并放入缓存中。如果您的邻居去查看它们,他们会在同一个 ISP 上(理想情况下),并会将它们从驻留在您的 ISP 中的 Akamai 缓存服务器中提取出来(理想情况下)。

话虽如此,我对 Facebook 的 Akamai 配置一无所知,所以他们可能有一些完全定制的、超出常规的东西。

答案2

通常,它的工作方式是,所有内容都存储在主服务器(示例中为 Facebook)上,而 CDN 网络会缓存所请求数据的副本。因此,您从 Akamai 请求数据,如果 Akamai 没有缓存数据,则 Akamai 会向 Facebook 请求数据,否则就从 Facebook 的缓存中提供数据。因此,下一个请求该数据的人将从 Akamai 的缓存中获取数据,从而减轻 Facebook 服务器的负载。这很像浏览器缓存。

维基百科上有关 Akamai 的文章, 具体来说:

Akamai 透明地镜像来自客户服务器的内容(有时是所有网站内容,包括 HTML、CSS 和软件下载,有时只是音频、图形、动画和视频等媒体对象)。虽然域名(但不是子域名)相同,但 IP 地址指向 Akamai 服务器,而不是客户的服务器

我曾在一家生产“主动”CDN 网络的大公司工作过,其中有一个包含所有媒体的中央服务器和许多内容交付服务器。媒体将被上传到主服务器,主服务器将联系所有从属服务器并将新内容推送给它们。但这种 CDN 旨在通过已知的高带宽链路提供内容 - 例如,如果您有一个中央办公室和许多分支机构。每个分支机构都有一个快速以太网网络,因此他们的 CDN 服务器通过(慢速)互联网与中央服务器同步。但这与 Akamai 的概念不同。

答案3

该资源永久存在于 CDN 的存储中(直到客户端将其删除),并且在浏览器请求时从那里检索。

相关内容