次の方法で共有

Azure DocumentDB 中的高可用性

区域内高可用性(HA)通过在群集中维护每个分片的备用副本,以避免数据库停机。 如果分片因任何原因而无响应,Azure DocumentDB 会将传入的连接从失败的分片切换到其备用。 发生故障转移时,被提升的分片始终通过同步复制获得最新的数据。

群集中的所有主分片都配置到一个可用区(AZ),以便在分片之间实现更好的延迟管理。 备用分片被配置到另一个可用区。

即使未启用 HA,每个分片都有自己的本地冗余存储(LRS),并且 Azure 存储服务维护了三个同步副本。 这三个副本都位于群集的 Azure 区域中。 如果出现单个副本故障,Azure 存储服务会检测到它,并透明地重新创建失败的副本。 有关 LRS 存储持续性,请参阅 此页上 的指标。

启用 HA 后,Azure DocumentDB 将为群集中的每个主分片运行一个备用分片。 每个主分片和备用分片具有相同的计算和存储配置。 主服务器及其备用服务器使用同步复制。 这种类型的复制允许你始终在群集中的主分片和备用分片上具有相同的数据。 简单来说,我们的服务可以在主分片检测到故障时,自动切换到备用分片,确保无数据丢失。

无论是否发生故障转移,群集连接字符串始终保持不变。 这样,服务就可以抽象化处理来自应用程序请求的物理分片中的更改。

在群集上启用区域内高可用性时,99.99% 服务级别协议(SLA)涵盖每个群集分片的可用性。

可以在创建群集时启用高可用性。 也可以在 现有 Azure DocumentDB 群集上随时启用和禁用高可用性。 在 Azure DocumentDB 群集上启用或禁用高可用性时,不会造成数据库停机。

故障转移期间发生的情况

每个分片故障转移由三个阶段组成:检测不可用状态、切换到备用分片,以及重新创建备用分片。 该服务通过定期运行状况检查对群集中每个主分片和备用分片的可用性执行持续监视。 当健康检查可靠地表明某个分片变得无响应并需要被声明为失败时,将启动实际的故障转移(切换)到备用分片。

在切换阶段,数据库读取和写入将重定向到备用分片。 每个主分片和备用分片之间的同步复制可确保备用分片始终与其主片具有相同的数据集。 这样就可以在无数据丢失的情况下执行所有故障转移。 切换到待机状态不会导致读取时停机。 写入作可能需要在切换阶段内重试内部服务。 这些重试可能被视为应用程序端的写入延迟。

分片故障转移完成后,集群将完全恢复正常运行。 返回到原始高可用性配置的最后一步是重新创建备用分片。 此备用分片重新创建不会对主分片造成停机或性能影响。