你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
任务关键型全局内容分发
缓存是为用户减少后端服务负载并优化性能的常用方法。 内容分发网络 (CDN)(包括 Azure Front Door)在网络边缘提供缓存功能。
任务关键型工作负载通常使用多个 CDN 来获得更长的运行时间。 如果一个 CDN 遇到中断或性能下降的情况,流量会自动转移到另一个 CDN。
如果你实现多个 CDN,请考虑此方法的影响。 每个 CDN 都为应用程序服务器提供单独的网络路径,需要单独配置和测试每个 CDN。
本文介绍将 Azure Front Door 与合作伙伴 Verizon 的 CDN 配合使用的方法。 此方法适用于严重依赖缓存来交付静态内容分发、媒体和大规模电子商务应用程序的解决方案。
注意
此用例是整体设计策略的一部分,该策略涵盖 Azure Front Door 不可用时的替代方法。 有关上下文和注意事项的信息,请参阅任务关键型全局 Web 应用程序。
方法
Verizon 的 CDN 和 CDN 平台 (Edgio) 可以集成到 Azure 解决方案中。 可以通过 Azure 门户和 API 对其进行配置。 该平台与 Microsoft 的基础结构相隔离。
这种隔离在灾难情况下提供了高度的复原能力。 如果发生中断或灾难,流量会自动在 Azure Front Door 和 Verizon 的 CDN 之间转移。 可以使用 Azure 流量管理器来检测中断,并将流量重定向到备用 CDN。
使用优先级路由模式的流量管理器有两个终结点。 默认情况下,流量管理器通过 Azure Front Door 发送请求。 如果 Azure Front Door 不可用,流量管理器会改为通过合作伙伴 CDN 发送请求。
Azure Front Door 处理和路由大部分应用程序流量。 Azure Front Door 将流量路由到相应的源应用程序服务器,并提供应用程序的主路径。 如果 Azure Front Door 不可用,流量会自动通过辅助路径重定向。
Verizon 的 Azure CDN 配置为将流量发送到每个源服务器。
源应用程序服务器需要准备好随时接受来自 Azure Front Door 和 Verizon 的 Azure CDN 的流量。
注意事项
任务关键型全局 Web 应用程序中所述的注意事项仍适用于此用例。 下面是一些其他要点:
选择 CDN
在此示例中,我们建议使用 Verizon 的 CDN。 Verizon 的 CDN 通常是一个不错的选择,因为它可以通过 Azure 进行部署、配置和计费,从而降低操作复杂性。 它在 Azure Front Door 的单独物理基础结构上运行,这意味着它可以对 Microsoft 基础结构上的中断或问题进行复原。
你可以选择使用不同的 CDN,甚至选择使用多个 CDN,具体取决于你的要求和风险容忍度。
功能奇偶一致性
Azure Front Door 和 Verizon 的 CDN 提供不同的功能,两种产品之间的功能并不等效。 例如,它们对 TLS 证书、WAF 和 HTTP 规则的处理均不同。
请仔细考虑所使用的 Azure Front Door 功能,以及备用 CDN 是否具有等效功能。 有关详细信息,请参阅入口路径的一致性。
缓存填充
如果在主动-被动模式下运行多个 CDN,则在故障转移期间,被动模式下配置的 CDN 需要在故障转移期间从源执行缓存填充。
测试 Azure Front Door 和备用 CDN 之间的故障转移,以检测异常或性能问题。
如果解决方案在缓存填充期间面临性能问题的风险,请考虑采用以下方法来降低风险:
横向扩展或纵向扩展源以应对更高的流量级别,尤其是在缓存填充期间。
预填充两个 CDN。 你可以通过被动 CDN 提供一定比例的最常用内容,即使在故障转移事件发生之前也是如此。 例如,可以考虑使用加权流量路由模式。
权衡
使用多个 CDN 需要权衡利弊。
成本。 解决方案的总体成本可能会增加。 部署多 CDN 体系结构时,需要为多个 CDN 付费。 请确保了解解决方案中的每个 CDN 以及部署的所有其他组件的收费方式。
性能。 在 Azure Front Door 和备用 CDN 之间进行故障转移时,可能会出现性能问题。
一个常见的问题是 CDN 在主动-被动模式下运行时缓存重新填充。 被动模式下配置的 CDN 需要从源重新填充其缓存。 在此过程中,它可能会使源系统重载。
后续步骤
查看全局 HTTP 入口方案,了解它是否适用于你的解决方案。