全部产品
Search
文档中心

云数据库 MongoDB:创建多可用区副本集实例

更新时间:Dec 17, 2024

为进一步满足业务场景中高可靠性的需求,云数据库 MongoDB 版提供了同城容灾解决方案。该方案将副本集中的三个节点,分别部署在同一地域下两个或三个不同的可用区,通过内部网络实现节点间的信息互通。

前提条件

  • 已注册阿里云账号,注册流程请参见注册阿里云账号

  • 目前双可用区部署功能尚在邀测阶段,如有需求,请提交工单申请添加白名单。

注意事项

三可用区

如果应用部署在ECS实例,您需要确保云数据库MongoDB实例和ECS实例满足以下条件,以保证网络的连通性。ECS实例信息的查看方法请参见查看实例信息

  • 所在地域相同。
  • 网络类型相同。
    说明
    • 同一可用区会减少网络延时,建议所在可用区相同。
    • 专有网络具有更高的安全性,建议使用专有网络。
    • 如果网络类型为专有网络,需确保使用相同的专有网络ID。
    • 如果您需要使用专有网络,但ECS实例的网络类型为经典网络,您可以将ECS实例网络类型转换为专有网络,具体请参见ECS实例从经典网络迁移到专有网络

双可用区

  • 如果应用部署在ECS实例,您需要确保云数据库MongoDB实例和ECS实例满足以下条件,以保证网络的连通性。ECS实例信息的查看方法请参见查看实例信息

    • 所在地域相同。
    • 网络类型相同。
      说明
      • 同一可用区会减少网络延时,建议所在可用区相同。
      • 专有网络具有更高的安全性,建议使用专有网络。
      • 如果网络类型为专有网络,需确保使用相同的专有网络ID。
      • 如果您需要使用专有网络,但ECS实例的网络类型为经典网络,您可以将ECS实例网络类型转换为专有网络,具体请参见ECS实例从经典网络迁移到专有网络
  • 如果MongoDB的写安全设置为WriteConcer=majority,那么写操作需要被确认已经传播到副本集中的大多数节点上时才会被认为写入成功。因此,当部署两个节点的可用区出现故障的容灾场景下,可能会出现主节点到另一个可用区部署节点的同步延迟时间窗口内数据丢失的情况。

  • 双可用区切换可选人工切换和自动切换两种模式,您可以在控制台实例详情页根据业务需求进行设置。该选项默认为人工切换。

使用限制

  • 目前仅支持在部分地域部署云盘版多可用区副本集实例。支持的地域,请参见云盘版(三可用区)云盘版(双可用区)

  • 本地盘版MongoDB实例仅支持选择单可用区,但是可以通过配置可用区实现副本集实例的多可用区部署。实现多可用区部署,您需要选择的可用区格式为:地域(可用区1+可用区2+可用区3),例如深圳可用区(C+D+E)。支持的地域,请参见本地盘版

节点部署策略

可用区

部署说明

单可用区

系统将自动将副本集实例中的Primary节点、Secondary节点和Hidden节点部署在同一可用区中。

image

双可用区

系统将自动地将副本集实例中的Primary节点、Secondary节点和Hidden节点分别部署在两个不同的可用区中。

当任一可用区因电力、网络等不可抗因素失去通信时,系统会根据您设置的双可用区切换方案进行处理,处理方法如下:

  • 人工切换:在可用区故障的情况下,高可用不会自动切换并启动双可用区实例来恢复可用性。可用区故障期间额外引入了人工确认的环节,您需要确认接受数据丢失后才进入自动切换。

  • 自动切换:在可用区故障的情况下,高可用会自动将剩下的节点以单节点形式启动,恢复实例可用性。该过程中可能会出现同步延迟时间窗口内数据丢失的情况。

image

三可用区

系统将自动地将副本集实例中的Primary节点、Secondary节点和Hidden节点分别部署在三个不同的可用区中。

当任一可用区因电力、网络等不可抗因素失去通信时,高可用系统将自动触发切换操作,确保整个副本集架构的持续可用。

image

操作步骤

创建多可用区副本集实例的操作步骤,请参见创建副本集实例

更多信息

您可以通过服务可用性功能,直观地了解实例中的节点在可用区中的分布情况,您还可以根据业务的部署情况切换节点的角色,满足应用就近连接的需求,详情请参见切换节点角色