你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
确保 API 管理可用性和可靠性
适用于:高级
本文概述了在发生 Azure 服务中断时,用于确保 API 管理实例能够继续为 API 请求提供服务的服务功能。
API 管理为可靠且可复原的 Azure 解决方案提供以下功能。 可将这些功能单独使用或一起使用来增强可用性:
可用性区域:发生数据中心级服务中断后可复原
多区域部署:发生区域性服务中断后可复原
注意
- “高级”层支持可用性区域和多区域部署。
- 有关配置,请参阅将 API 管理迁移到可用性区域支持和在多个区域中部署 API 管理。
可用性区域
Azure 可用性区域是 Azure 区域中物理上独立的位置,可以容忍数据中心级别的故障。 每个区域由一个或多个数据中心组成,这些数据中心配置了独立电源、散热设备和网络基础结构。 为了确保复原能力,在所有启用了可用性区域的地区中,必须至少有 3 个独立的可用性区域。 了解详细信息
如果为受支持区域中的 API 管理实例启用区域冗余,则将为所有服务组件提供冗余,包括:网关、管理平面和开发人员门户。 Azure 会跨你选择的区域自动复制所有服务组件。
在区域中启用区域冗余时,请考虑需要分布的 API 管理缩放单元的数量。 配置的单元数至少要与可用性区域数量相同,或者配置多个单元以便单元在区域中均匀分布。 例如,如果在一个区域中选择 3 个可用性区域,则可以获得 3 个单元,以便每个区域托管一个单元。
多区域部署
借助多区域部署,你可将区域 API 网关添加到一个或多个受支持的 Azure 区域中的现有 API 管理实例。 此跨区域部署有助于减少地理分布式 API 使用者所感知的请求延迟,并且还能改善当其中一个区域处于离线状态时的服务可用性。
仅将 API 管理实例的网关组件复制到多个区域。 实例的管理平面和开发人员门户仍仅托管在“主要”区域,即你最初部署服务的区域。
如果要在虚拟网络中部署(注入)API 管理实例时为该实例配置次要位置,Net 和子网区域应与要配置的次要位置匹配。 如果要在主要区域中添加、删除或启用可用性区域,或者更改主要区域的子网,API 管理实例的 VIP 地址会更改。 有关详细信息,请参阅 Azure API 管理服务的 IP 地址。 但是,如果要添加次要区域,则主要区域的 VIP 不会更改,因为每个区域都有自己的专用 VIP。
API 和策略定义等网关配置会在添加的主要区域和次要区域之间定期同步。 向区域网关传播更新通常需要不到 10 秒的时间。 多区域部署提供 API 网关在多个区域的可用性,并在一个区域脱机时提供服务可用性。
当 API 管理收到面向流量管理器终结点的 HTTP 请求时(适用于 API 管理的外部 VNet 和非网络模式),流量会根据最低延迟路由到区域网关,这可以减少地理分布性 API 使用者所经历的延迟。 在内部 VNet 模式下,客户必须配置自己的解决方案来跨区域网关对流量进行路由和负载均衡。 有关详细信息,请参阅网络注意事项。
每个区域(包括主要区域)的网关都有一个采用
https://<service-name>-<region>-01.regional.azure-api.net
URL 模式的区域 DNS 名称,例如https://contoso-westus2-01.regional.azure-api.net
。如果某个区域脱机,API 请求将自动路由到与发生故障的区域最靠近的下一个网关。
如果主要区域脱机,API 管理平面和开发人员门户将不可用,但次要区域继续使用最新的网关配置来处理 API 请求。
结合可用性区域和多区域部署
地区中实现冗余的可用性区域与多区域部署相结合,可提高网关在发生区域中断时的可用性,帮助提高 API 管理实例的可靠性和性能。
示例:
使用可用性区域来提高多区域部署中主要区域的复原能力
跨可用性区域和区域分布缩放单元以提高区域网关性能
SLA 注意事项
在两个或更多可用性区域或区域中部署至少一个单元时,API 管理可提供 99.99% 的 SLA。 有关详细信息,请参阅定价。
注意
虽然 Azure 持续致力于为云平台在 SLA 中实现最高复原能力,但你必须为解决方案的其他组件定义自己的目标 SLA。
后端可用性
根据后端服务的托管位置和方式,你可能需要在不同区域设置冗余后端以满足你对服务可用性的要求。 还可以配置后端属性,以提高后端服务的复原能力和可用性。
区域后端
可以通过 API 管理管理区域后端并处理故障转移以保持可用性。 例如:
在多区域部署中,使用策略将请求通过区域网关路由到区域后端。
如果特定地区中存在后端故障,请配置策略,有条件地将将请求路由到不同的后端。
使用缓存来减少失败的调用。
有关详细信息,请参阅博客文章后端 API 冗余与 Azure API 管理器。
为可用性配置后端属性
API 管理后端实体允许你管理和应用后端属性,以提高后端的可用性。 例如:
后续步骤
- 详细了解 Azure 中的可靠性
- 详细了解如何设计可靠的 Azure 应用程序
- 阅读 Azure 架构良好的框架中的 API 管理和可靠性