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

Azure Cosmos DB for MongoDB vCore 中高可用性 (HA) 和跨区域复制的最佳做法

适用对象: MongoDB vCore

确保高可用性并启用跨区域复制对于使用 Azure Cosmos DB for MongoDB vCore 的任务关键型应用程序至关重要。 本文档概述了配置和管理高可用性 (HA)跨区域复制的最佳做法。 按照本文档中的指南在 Azure Cosmos DB for MongoDB vCore 中实现最佳性能、复原能力和灾难恢复功能。

高可用性 (HA) 最佳做法

将 HA 用于生产群集

启用高可用性 (HA) 对于生产群集和任何对停机时间敏感的群集至关重要。 在生产环境中,意外的节点故障可能会导致重大中断。 即使其中一个物理分片(节点)不可用,HA 也能确保群集保持可用并正常运行,且不会丢失数据。

使用 HA 实现 99.99% SLA

Azure Cosmos DB for MongoDB vCore 为启用了高可用性的群集提供 99.99% 的每月可用性 SLA。 为了满足此 SLA,请确保为需要持续运行的所有关键工作负荷激活 HA。

为自动故障转移启用 HA

启用了高可用性的群集会自动从物理分片故障中恢复,而无需手动干预。 发生节点故障时,系统会升级备用物理分片以替换故障的主节点。 自动故障转移过程保留相同的连接字符串,让故障转移过程对应用程序无缝透明。 此功能对于需要持续运行和一致的数据访问的应用程序至关重要。

禁用非生产群集的 HA

对于非生产群集或对停机不敏感的群集,可以禁用高可用性来降低成本。 这些环境可以容许偶尔停机而不会影响业务运营。 在禁用任何群集上的 HA 之前,请仔细评估风险和成本权衡。

将 HA 用于可用性区域

在支持可用性区域的区域中,启用 HA 可确保在不同的可用性区域中预配每个主-备用物理分片对。 区域冗余可保护群集免受区域中数据中心级故障的影响,从而提供额外的复原能力。

跨区域复制最佳做法

使用跨区域复制进行灾难恢复

当需要将群集数据的副本存储在另一个 Azure 区域中以实现灾难恢复 (DR) 目的时,请使用跨区域复制。 跨区域复制可确保即使在发生区域性服务中断时也能使用数据。 Azure Cosmos DB for MongoDB vCore 支持主动-被动复制配置,以辅助跨区域灾难恢复。 主动-被动复制将一个群集保留为读写模式中的主群集,并在另一个 Azure 区域中维护一个只读副本群集。

如果发生罕见的区域中断,则可以将副本群集升级为新的读写群集,中断时间极短。 即使整个区域都遭遇服务中断,此功能也能确保数据仍然安全且可访问。

配置复制,将性能影响降至最低

配置跨区域复制时,请考虑网络延迟和写入延迟对应用程序的影响。 为主要读写群集和副本群集选择在地理位置上靠近用户的区域,并确保优化应用程序以实现最终一致性。

读取缩放

使用跨区域复制将大型读取操作从主群集卸载到副本群集。 将读取操作卸载到副本群集可防止主群集过载,并确保系统能够高效地处理大批量读取。

结合 HA 和 DR 策略

将高可用性 (HA) 与跨区域复制相结合,以实现灾难恢复 (DR) 和全球读取可伸缩性。 两者的组合提供 99.995% SLA。 此方法在本地复原能力和全局冗余之间提供最佳平衡,确保应用程序的持续可用性和最佳性能。

最佳做法摘要

场景 建议
生产群集 启用高可用性
需要 99.99% SLA 的群集 启用高可用性
需要 99.995% SLA 的群集 启用高可用性创建副本群集
非生产群集 禁用高可用性以降低成本
自动故障转移要求 启用高可用性
跨区域灾难恢复 (DR) 创建副本群集
跨多个的区域读取可伸缩性 创建副本群集

通过遵循这些最佳做法,可以确保 Azure Cosmos DB for MongoDB vCore 群集在发生故障和区域性中断时保持高可用性和复原能力。