我是 Azure CDN 的新手。基本上,我尝试将 CDN 用于我的 php 网站图像、javascript 文件和 css 文件。
我创建了一个 Azure blob 存储,然后添加了一个容器并开始向该容器添加文件。我注意到每个文件都可以通过类似这样的 URL 访问 https://*******.blob.core.windows.net/content/Test1.jpg
就是这样!我想这就是我想要的。但是,现在的问题是:CDN 在哪里发挥作用?我知道我们可以创建一个 CDN,然后将端点添加到该 CDN,该端点将进一步指向我之前创建的 Blob 存储。但是,问题是,既然我已经能够通过 Azure 存储提供的 URL 访问我的文件,为什么我还需要创建该 CDN 及其端点?
答案1
当人们首次访问您的网站时,Verizon/Akaimai 或您选择的 CDN 提供商会将您的静态文件缓存在尽可能最近的源中,下次来自同一地区的用户访问您的网站时,静态文件将从距离他们最近的 CDN 提供商的接入点提供。这不仅可以减少向用户提供文件时的延迟,还可以减少服务器的负载和带宽使用量。
描绘得真好这里:
- 用户 (Alice) 使用具有特殊域名(例如 .azureedge.net)的 URL 请求文件(也称为资产)。此名称可以是终端节点主机名或自定义域。DNS 将请求路由到性能最佳的 POP 位置,通常是地理位置最接近用户的 POP。
- 如果 POP 中的边缘服务器缓存中没有该文件,则 POP 将从源服务器请求该文件。源服务器可以是 Azure Web 应用、Azure 云服务、Azure 存储帐户或任何可公开访问的 Web 服务器。
- 原始服务器将文件返回到 POP 中的边缘服务器。
- POP 中的边缘服务器会缓存文件并将文件返回给原始请求者 (Alice)。文件会一直缓存在 POP 中的边缘服务器上,直到其 HTTP 标头指定的生存时间 (TTL) 到期。如果原始服务器未指定 TTL,则默认 TTL 为 7 天。
- 然后,其他用户可以使用 Alice 所用的相同 URL 请求同一个文件,并且也可以定向到同一个 POP。
- 如果文件的 TTL 尚未过期,POP 边缘服务器将直接从缓存中返回文件。此过程可带来更快、响应更快的用户体验。