你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure 流量管理器中的可靠性

Azure 流量管理器是基于 DNS 的流量负载均衡器,可在全球分布式后端之间以最佳方式分配流量。 流量管理器使用 DNS 根据流量路由方法和终结点运行状况监视将客户端请求定向到适当的服务终结点,从而为面向公众的应用程序提供高可用性和快速响应能力。

使用 Azure 时,可靠性是共同的责任。 Microsoft提供了一系列功能来支持复原和恢复。 你负责了解这些功能如何在你使用的所有服务中工作,并选择满足业务目标和运行时间目标所需的功能。

本文介绍Azure 流量管理器的可靠性功能,以响应一系列潜在的中断,包括暂时性故障和区域范围的故障。 它还重点介绍了维护复原能力和准备恢复的关键注意事项,并概述了Azure 流量管理器服务级别协议(SLA)。

注释

本文描述了流量管理器服务如何具备弹性,或者您可以如何增强其弹性,以应对多种问题的说明。 它不介绍如何使用流量管理器在应用程序或区域之间执行故障转移。 有关故障转移体系结构的示例,请参阅 为高可用性和灾难恢复而生成的多层 Web 应用程序

生产部署建议

Azure Well-Architected 框架提供关于可靠性、性能、安全性、成本和操作的建议。 要了解这些领域如何相互影响并有助于提供可靠的 Traffic Manager 解决方案,请参阅 Well-Architected Framework 中的 Azure 流量管理器 架构最佳实践

可靠性体系结构概述

本部分介绍从可靠性的角度来看,服务工作原理最相关的一些重要方面。 本部分介绍逻辑体系结构,其中包括部署和使用的某些资源和功能。 它还讨论了物理架构,该架构提供了服务内部运作方式的详细信息。

逻辑体系结构

使用流量管理器时,部署一个配置文件,该 配置文件指定应用程序的后端终结点,并配置流量管理器应如何将请求路由到这些终结点。 有关详细信息,请参阅 流量管理器终结点流量管理器路由方法

流量管理器配置文件显示为 DNS CNAME 记录。 当它从客户端或 DNS 解析程序收到解析请求时,流量管理器会根据配置文件中指定的规则动态解析 IP 地址。 流量管理器的责任是向客户端提供终结点的 IP 地址,以访问服务。 名称解析后,应用程序的任何流量都不会流经流量管理器。 有关详细信息,请参阅 流量管理器的工作原理

流量管理器监视终结点的运行状况,并将传入请求路由到正常运行的终结点,同时避免运行不正常的终结点。 有关详细信息,请参阅 流量管理器终结点监视

重要

整体解决方案的可靠性取决于流量管理器将流量路由到的终结点的配置。

本文不介绍终结点,但其可用性配置直接影响应用程序的复原能力。 查看 解决方案中 Azure 服务的可靠性指南 ,了解每个服务如何支持可靠性要求。

物理体系结构

流量管理器充当非区域服务,在全球多个Azure区域中跨多个可用性区域部署其基础结构。 此设计使流量管理器能够在可用性区域或区域中断期间保持复原能力,因为另一个区域或区域中的基础结构会继续响应解决请求。

全球 Internet 协议(如 Anycast、DNS 和 BGP)会自动将传入的 DNS 解析请求路由到最接近正常的流量管理器基础结构。

暂时性故障的复原能力

暂时性故障是指组件发生短暂的间歇性故障。 这些故障经常出现在云之类的分布式环境中,在运营过程中比较常见。 暂时性故障在短时间内自行纠正。 应用程序通常可以通过重试受影响的请求来处理暂时性故障,这一点很重要。

与任何云托管的 API、数据库和其他组件通信时,所有云托管的应用程序都应遵循 Azure 暂时性故障处理指南。 有关详细信息,请参阅有关处理暂时性故障的建议

流量管理器在 DNS 级别运行,并使用健康探测来监视终结点可用性。 该服务通过其全局 DNS 基础结构和终结点监视功能处理暂时性故障。

使用流量管理器时,请单独考虑以下类型的暂时性故障:

  • DNS 解析期间的暂时性故障: 如果在 DNS 解析期间发生暂时性故障,客户端或中间解析程序应重试。

  • 影响后端终结点的暂时性故障:流量管理器终结点监视 会定期检查终结点的运行状况。 终结点内部或通往终结点的网络路径中的暂时性故障,可能会导致该终结点被检测为运行异常。 配置终结点监视以查找一段时间内的连续问题。

DNS 记录生存时间(TTL)决定了解决方案如何处理故障。 如果 TTL 非常低,客户端需要向流量管理器发出更多请求,并且出现暂时性故障的可能性更大。 在终端发生真实故障时,如果 TTL 非常高,客户端可能会遇到切换延迟,直到 TTL 过期。 仔细配置 TTL 以平衡可用性、延迟和响应能力。 使用Azure DNS时,它可以自动配置记录的 TTL,以匹配配置文件的 TTL 值(默认为 60 秒)。 有关详细信息,请参阅 流量管理器性能注意事项

应对可用区故障的弹性

可用性区域 是 Azure 区域内物理上独立的数据中心组。 当某个区域发生故障时,服务可以切换到其他可用的区域。

流量管理器充当非区域服务,在全球多个Azure区域中跨多个可用性区域部署其基础结构。 它会跨这些区域和区域同步地将更改复制到配置文件。 此设计使流量管理器能够在可用性区域中断期间保持复原能力,因为另一个区域或区域中的基础结构会继续响应解决请求。

对区域范围的故障的复原能力

流量管理器充当非区域服务,在全球多个Azure区域中跨多个可用性区域部署其基础结构。 此设计使流量管理器能够在区域中断期间保持复原能力,因为另一个区域或区域中的基础结构会继续响应解决请求。

对门户和管理工具中断的复原能力

如果在 Azure 门户中管理流量管理器配置文件,请为无法访问流量管理器配置文件的方案做好准备,尤其是在平台中断期间需要重新配置配置文件的情况。

与其他Azure服务一样,流量管理器支持通过各种工具进行部署和管理。 我们建议您熟悉如何使用 Azure CLIAzure PowerShell 来管理您的配置文件。 或者,使用基础结构即代码技术(如 BicepTerraform)来部署和配置你的配置文件。 即使Azure门户降级,这些工具仍可正常运行。

备份和还原

流量管理器是无状态 DNS 服务。 它不会保留数据,并且没有备份或还原功能。

若要保护资源配置,请使用基础结构(如Bicep或 ARM 模板)定义流量管理器配置文件和其他资源,并将这些定义存储在源代码管理中。 如果需要重新创建资源,请从存储的配置重新部署它。

服务维护期间的系统弹性能力

Microsoft定期应用服务更新并执行其他维护。 Azure平台会自动处理这些活动,确保维护是无缝且透明的。 除非通过 Azure 服务运行状况 计划内维护 通知,否则在维护事件期间不会有停机。

服务级别协议

Azure服务的服务级别协议(SLA)描述了每个服务的预期可用性以及解决方案必须满足的条件,以实现该可用性预期。 有关详细信息,请参阅 联机服务的 SLA

只要客户端反复重试失败的请求,Azure 流量管理器为 DNS 查询响应提供 100% 可用性 SLA。