你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
内容分发网络(CDN)提供一系列功能来优化用户的性能,包括全局第 7 层负载均衡和优化的网络路由。 缓存也是减少后端服务负载并提高应对一系列问题弹性的常见方法。 CDN(包括 Azure Front Door)在网络边缘提供缓存。
CDN 是某些解决方案体系结构中的重要组件,因此,对于任务关键型工作负荷而言,使用多个 CDN 来实现更高级别的运行时间,这是行业最佳做法。 如果一个 CDN 遇到中断或性能下降的情况,则流量会自动转移到另一个 CDN。
Microsoft 为 Azure Front Door 提供行业领先的服务级别协议(SLA)。 即使其他提供商提供 100% 运行时间 SLA,请务必注意,这并不能保证零停机时间,并且 SLA 通常会在发生中断时提供服务信用额度。 因此,即使是Microsoft的竞争对手也建议对任务关键型工作负荷使用多个 CDN,并且许多管理自己的 CDN 的公司也利用其他 CDN。
如果实现多个 CDN,请考虑此方法的含义。 每个 CDN 为应用程序服务器提供单独的网络路径,需要单独配置和测试每个 CDN。
本文介绍将 Azure Front Door 与其他 CDN 配合使用的方法。 此方法适用于依赖于缓存的解决方案,用于传送静态内容传送、媒体和大规模电子商务应用程序。
注释
此用例是总体设计策略的一部分,涵盖 Azure Front Door 不可用时的备用方法。 有关上下文和注意事项的信息,请参阅 任务关键型全局 Web 应用程序。
方法
可将第三方 CDN 集成到 Azure 解决方案中,以提供与Microsoft基础结构隔离。 这种隔离在灾难情境中提供了高度的复原能力。 如果发生中断或灾难,流量会自动在 Azure Front Door 和备用 CDN 之间转移。 可以使用 Azure 流量管理器来检测中断,并将流量重定向到备用 CDN。
注释
Microsoft提供 CDN 互连服务,用于将源流量路由到另一个 CDN,并收取零数据传输费用。 有关更多详细信息,请参阅 路由首选项。
下图显示了 CDN 之间的流量如何流动:
使用优先级路由模式的流量管理器 有两 个终结点。 默认情况下,流量管理器通过 Azure Front Door 发送请求。 如果 Azure Front Door 不可用,流量管理器会改为通过备用 CDN 发送请求。
Azure Front Door 处理和路由大部分应用程序流量。 Azure Front Door 将流量路由到适当的源应用程序服务器,并提供应用程序的主要路径。 如果 Azure Front Door 不可用,流量会自动通过辅助路径重定向。
备用 CDN 配置为将流量发送到每个源服务器。
源应用程序服务器 需要随时接受来自 Azure Front Door 和另一个 CDN 的流量。
注意事项
任务关键型全局 Web 应用程序中所述的注意事项仍适用于此用例。 下面是一些其他要点:
CDN 的选择
Microsoft提供了多个 CDN 产品。 我们的旗舰 CDN 产品是 Azure Front Door 标准和高级版,所有其他 CDN 产品已宣布停用。 其他 CDN 产品还与 Azure Front Door 共享物理基础结构,因此我们建议为本文中所述的体系结构类型选择其他 CDN 产品。 请确保选择满足功能功能、运行时间和成本需求的备用 CDN。
根据要求和风险容忍度,可以选择使用两个以上的 CDN。
功能对等
Azure Front Door 提供与许多 CDN 不同的功能,并且 CDN 产品之间的功能不相等。 例如,处理 TLS 证书、Web 应用程序防火墙(WAF)和 HTTP 路由规则可能存在差异。
仔细考虑你使用的 Azure Front Door 功能,以及备用 CDN 是否具有等效的功能。 有关详细信息,请参阅 入口路径的一致性。
缓存填充
如果在主动-被动模式下运行多个 CDN,则在故障转移期间,被动模式下配置的 CDN 需要在故障转移期间从源执行缓存填充。
测试 Azure Front Door 和备用 CDN 之间的故障转移,以检测异常或性能问题。
如果解决方案在缓存填充期间遇到性能问题,请考虑以下方法来降低风险:
横向扩展或纵向扩展源以应对更高的流量级别,尤其是在缓存填充期间。
预填充两个 CDN。 即使在发生故障转移事件之前,你也会通过被动 CDN 提供最常用内容的百分比。 例如,可以考虑使用 加权流量路由模式。
权衡
使用多个 CDN 有时会带来一些折衷。
解决方案的总体成本可能会增加。 部署多 CDN 体系结构时,会针对多个 CDN 计费。 请确保了解解决方案中每个 CDN 的收费方式,以及部署的其他所有组件。
添加到解决方案的每个附加组件都会增加管理开销。
在 Azure Front Door 和备用 CDN 之间故障转移期间可能存在性能问题。
通过使用 DNS 流量管理器,可以随机选择哪个 CDN 作为请求。 如果您没有注意在 CDN(例如在 Azure Front Door 中缓存)中实现一致的缓存设置,可能会导致源出口带宽性能下降和成本增加。
一个常见问题是,当 CDN 在主动-被动模式下运行时 缓存重新填充 。 被动模式下配置的 CDN 需要从源重新填充其缓存。 它可以在该过程中重载源系统。
供稿人
本文由Microsoft维护。 它最初是由以下贡献者撰写的。
主要作者:
- 戴夫·伯克哈特 |Azure Front Door 的主要项目经理
- John Downs | 首席软件工程师
- Priyanka Wilkins | 首席内容开发人员
要查看非公开的 LinkedIn 个人资料,请登录到 LinkedIn。
后续步骤
查看 全局 HTTP 入口 方案,了解它是否适用于解决方案。