创建 Azure CDN

已完成

内容分发网络 (CDN) 可显著加快网站上的资产传递速度。 但是,所有网站并非都相同,因此一定要判断自己的部署能否从中受益。

对于发布大量视频的全球培训公司而言,Azure Blob 存储非常适合你的业务模型。 使用 Azure Blob 存储还能简化 Web 发布。 但是公司的拓展计划可能会让单个分发点过载。

在本单元中,学习 Azure CDN 的工作原理,并了解如何创建一个 Azure CDN 来提高静态网站的性能。

什么是 CDN?

CDN 是由 Web 服务器构成的一个网络,它将网站内容缓存在不同的地理位置。 CDN 在靠近较大用户群的接入点 (POP) 位置缓存网站内容,从而帮助尽可能地降低延迟。 CDN 的使用对站点用户是透明的。

网站用户与托管站点的服务器之间的地理距离可能是造成延迟的主要因素。 距离会产生延迟,主要是因为以下两个因素:

  • 首先,电信号的传输速度有限。 距离越远,将消息送达到另一端所耗的时间越长。
  • 其次,如果在两台计算机之间建立远距离连接,则通常要通过相对较多的 Internet 路由器,而每个“跃点”都会增加延迟。

通过使用 CDN 将内容缓存到更靠近用户的位置,可以降低传输延迟和路由器跃点数量。

启用 CDN

站点的 CDN 启用流程取决于使用的 CDN 提供商,但是通常需要执行三个步骤:

  1. 输入与 CDN 提供商之间的服务协议。 服务协议是通过 Web 门户完成的。
  2. 配置 CDN。
  3. 修改站点实现,使用想在 CDN 上缓存的资产的 CDN URL。 需要进行的更改会根据站点的实现而大不相同。

CDN 的工作原理

在用户请求文件或资产时,该请求会路由到最近的 POP。

如果 POP 上存在该数据,则会检索该数据。

如果不存在该数据,POP 将从源服务器请求该数据,将数据返回给用户并存储本地副本。 对该 POP 而言,针对此数据的后续请求都是本地的。

Azure 中提供以下 CDN 类型:

  • 标准 Microsoft
  • 标准 Edgio
  • 高级 Edgio

这些类型因功能和缓存选项而异。

本模块主要介绍“标准 Microsoft”CDN。 若要详细了解每种类型,请参阅“摘要”单元的“延伸阅读”部分。

什么是 Azure CDN?

Azure 内容分发网络 (CDN) 就是 Azure 的内容分发网络。 它是一个分布式的服务器网络,用于缓存和存储内容。 这些服务器位于靠近最终用户的位置,这样可最大程度地降低延迟。

这些服务器位置被称为接入点 (POP) 位置。 CDN 将在边缘服务器或靠近用户的服务器上缓存的数据存储到这些 POP 位置中。

Microsoft Azure CDN 的功能和优势

Microsoft Azure CDN 提供以下功能:

  • 动态站点加速 - 加快静态文件的传递速度
  • HTTPS 自定义域支持 - 实现对自定义域(如 https://www.contoso.com )的加密连接
  • Azure 诊断日志 - 查看核心分析信息并将数据发送到 Azure 存储帐户、Azure 事件中心或 Log Analytics 工作区
  • 文件压缩 - 减少传输的字节数,从而提升性能
  • 地区筛选 - 可在使用特定路径的 CDN 终结点上创建规则,以允许/阻止所选国家/地区的内容

若要详细了解这些功能,请参阅“摘要”单元的“延伸阅读”部分。

使用 Microsoft Azure CDN 可具有下列优势:

  • 在大型文件或流式文件方面,可提供更好的性能和更流畅的用户体验。
  • 可为需要多次往返来显示内容的应用程序提供更佳的结果。
  • 可更好地进行缩放,尤其是在负载急增(例如出现全局启动事件)时。
  • 可降低到源服务器的流量。

评估 CDN 的适用性

CDN 通常最适合使用很多大型静态文件的技术。 在需要向世界各地的大量用户同时提供文件时(例如在产品发布时),它们也能有所帮助。 不过,Azure 中的标准 Microsoft CDN 没有针对动态站点的显著优势。

CDN 和 Web 服务器

Azure CDN 支持在 Azure 中的虚拟机上作为源服务器运行的 Web 服务器。 你也可将 Azure CDN 连接到 Azure 网站。 这样,就可在全球分布站点,从而降低延迟,提高用户的满意度。 在将网站连接到 CDN 和传播文件时,你最终会在 CDN 中获得相同的文件结构。

创建 CDN 时需要在 Azure 中指定新的 CDN。 然后,配置一个指向源服务器或 Blob 存储帐户的终结点。 Azure 要求提供 CDN 路径和源服务器 URL 的唯一名称。 该过程将在下一单元中的演练进行介绍。

CDN 与无服务器应用和 Web 应用搭配使用

Azure 中的无服务器 Web 应用不需要部署、配置或管理服务器。 此模型包含以下组件:

  • Blob 存储 - 静态 Web 文件(HTML、CSS 和 JavaScript)存储在 Azure Blob 存储中,从而实现静态网站托管。 任何动态交互都是通过对后端 API 的 JavaScript 调用进行的。 因此,没有用来呈现网页的服务器端代码。
  • 函数应用 - 使用事件驱动模型通过触发器(事件)来调用函数(代码段)。 在无服务器应用中,触发条件可能是一个 HTTP Get 请求。
  • API 管理 - 提供一个 API 网关,它可发布并管理客户端函数使用的 API。 网关还有助于将前端应用程序与 API 分离。 API 管理可转换 URL、将转换应用于前后端之间的数据请求,还可配置响应头。

Azure CDN 会缓存无服务器 Web 应用内容,从而降低延迟并更快地将内容传递给用户。 CDN 还能为加密的 HTTPS 连接提供终结点。 Azure CDN 使用 Azure Web 应用提供类似的交互。

CDN 组件

现在,我们来详细了解 CDN 的工作原理。 这里有两个概念:CDN 配置文件和 CDN 终结点。 本部分还介绍了 POP 传播时间。

CDN 配置文件

CDN 配置文件是适用于一个或多个 CDN 终结点的容器。 每个 CDN 终结点都指定一个定价层,还提供一个链接指向 POP 上缓存的内容。

创建配置文件时,可指定创建 CDN 终结点,也可稍后再创建终结点。 请注意创建配置文件时指定定价层的方式。

CDN 终结点

创建终结点时,必须确保终结点类型和原始源正确匹配。 例如,Azure 中的静态网站需要将终结点设置为“自定义原点”。借助存储帐户,可创建与该帐户匹配的 CDN。

要详细了解如何将存储帐户集成到 Azure CDN 中,请参阅“摘要”单元的“延伸阅读”部分。

POP 传播时间

POP 之间的传播时间根据所用的 CDN 配置文件和定价层而有所不同。

  • Azure CDN Microsoft 标准配置文件通常在 10 分钟内进行传播。
  • Azure CDN Edgio 标准和 Azure CDN Edgio 高级配置文件通常在 10 分钟内完成。