你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
区域内高可用性(HA)通过在群集中维护每个分片的备用副本,以避免数据库停机。 如果某个分片因任何原因而变得无响应,Azure DocumentDB 会将传入连接从失败的分片切换到其备用分片。 当发生故障转移时,升级的分片始终通过同步复制拥有新的数据。
群集中的所有主分片都配置到一个可用区(AZ),以便在分片之间实现更好的延迟管理。 备用分片被配置到另一个可用区。
即使未启用 HA,每个分片都有自己的本地冗余存储(LRS),并且 Azure 存储服务维护了三个同步副本。 这三个副本都位于群集的 Azure 区域中。 如果出现单个副本故障,Azure 存储服务会检测到它,并透明地重新创建失败的副本。 有关 LRS 存储持续性,请参阅 此页上 的指标。
启用 HA 后,Azure DocumentDB 将为群集中的每个主分片运行一个备用分片。 每个主分片和备用分片具有相同的计算和存储配置。 主服务器及其备用服务器使用同步复制。 这种类型的复制允许你始终在群集中的主分片和备用分片上具有相同的数据。 简单来说,我们的服务可以在主分片检测到故障时,自动切换到备用分片,确保无数据丢失。
无论故障转移如何,群集连接字符串始终保持不变。 这样,服务就可以抽象化处理来自应用程序请求的物理分片中的更改。
在群集上启用区域内高可用性时,99.99% 服务级别协议(SLA)涵盖每个群集分片的可用性。
可以在创建群集时启用高可用性。 也可以在 现有 Azure DocumentDB 群集上随时启用和禁用高可用性。 在 Azure DocumentDB 群集上启用或禁用高可用性时,不会造成数据库停机。
故障转移期间发生的情况
每个分片故障转移由三个阶段组成:检测不可用状态、切换到备用分片,以及重新创建备用分片。 该服务通过定期运行状况检查对群集中每个主分片和备用分片的可用性执行持续监视。 当运行状况检查可靠地指示分片变得无响应并且需要声明失败时,将启动到备用分片的实际故障转移(切换)。
在切换阶段,数据库读取和写入将重定向到备用分片。 每个主分片和备用分片之间的同步复制可确保备用分片始终与其主片具有相同的数据集。 这使得所有故障转移都能以零数据丢失的方式执行。 切换到备用分片无需停机进行读取。 写入操作可能需要在切换阶段进行内部服务重试。 这些重试可能被视为应用程序端的写入延迟。
分片故障转移完成后,集群将完全恢复正常运行。 返回到原始高可用性配置的最后一步是重新创建备用分片。 此备用分片重新创建不会对主分片造成停机或性能影响。