为进一步满足业务场景中高可靠性的需求,云数据库MongoDB提供了同城容灾解决方案。该方案将副本集中的三个节点,分别部署在同一地域下三个不同的可用区,通过内部网络实现节点间的信息互通。当三个可用区中的任一可用区因电力、网络等不可抗因素失去通信时,高可用系统将自动触发切换操作,确保整个副本集架构的持续可用。

前提条件

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

注意事项

如果应用部署在ECS实例,您需要确保云数据库MongoDB实例和ECS实例满足以下条件,以保证网络的连通性。ECS实例信息的查看方法请参见查看实例信息
  • 所在地域相同,并建议所在可用区相同(以减少网络延时)。
  • 网络类型相同。
    说明
    • 专有网络具有更高的安全性,建议使用专有网络。
    • 如果网络类型为专有网络,需确保使用相同的专有网络ID。
    • 如果您需要使用专有网络,但ECS实例的网络类型为经典网络,您可以将ECS实例网络类型转换为专有网络,具体请参见ECS实例从经典网络迁移到专有网络

使用限制

  • 云数据库MongoDB 3.4、4.0和4.2版本仅支持在以下地域和可用区部署多可用区副本集实例。
    • 华南1(深圳):深圳可用区(C+D+E)。
    • 中国(香港):香港可用区(B+C+D)。
  • 云数据库MongoDB 4.4和5.0版本仅支持在以下地域和可用区部署多可用区副本集实例。
    • 华东1(杭州):杭州可用区G、H和I。
    • 中国(香港):香港可用区B、C和D。
    • 华北6(乌兰察布):乌兰察布可用区A、B和C。
    • 新加坡:新加坡可用区A、B和C。
    • 印尼(雅加达):雅加达可用区A、B和C。
    • 德国(法兰克福):法兰克福可用区A、B和C。
  • 创建多可用区副本集实例时,主备节点数固定为三节点
    说明 如果需要更多节点,您可以在完成实例创建后,通过变更实例配置为实例添加节点,具体请参见变更副本集实例配置

副本集实例节点部署方案对比

可用区 部署说明
单可用区 系统将自动地将副本集实例中的Primary节点、Secondary节点和Hidden节点部署在同一可用区中。单可用区方案
多可用区 系统将自动地将副本集实例中的Primary节点、Secondary节点和Hidden节点分别部署在不同的可用区中。多可用区方案

操作步骤

  1. 登录MongoDB管理控制台
  2. 在左侧导航栏,单击副本集实例列表
  3. 副本集实例列表页面,单击创建实例
  4. 商品类型区域,请根据业务需求,选择副本集(包年包月)副本集(按量付费)
  5. 配置地域
    • 如果您购买的实例是3.4、4.0或4.2版本,可以选择地域为华南1(深圳)或中国(香港)。
    • 如果您购买的实例是4.4或5.0版本,可以选择地域为华东1(杭州)、中国(香港)、华北6(乌兰察布)、新加坡、印尼(雅加达)或德国(法兰克福)。
  6. 配置可用区类型
    • 如果您购买的实例是3.4、4.0或4.2版本,可用区类型配置为单可用区
      说明 3.4、4.0或4.2版本可以通过配置可用区实现副本集实例的多可用区部署。
    • 如果您购买的实例是4.4或5.0版本,可用区类型配置为多可用区
  7. 配置可用区
    • 如果您购买的实例是3.4、4.0或4.2版本,可以选择可用区为深圳可用区(C+D+E)或香港可用区(B+C+D)。
    • 如果您购买的实例是4.4或5.0版本,多可用区包含可用区备可用区1备可用区2
      您需要配置三个不相同的单可用区,仅支持在以下可用区部署多可用区副本集实例:
      • 杭州可用区G、H和I。
      • 香港可用区B、C和D。
      • 乌兰察布可用区A、B和C。
      • 新加坡可用区A、B和C。
      • 雅加达可用区A、B和C。
      • 法兰克福可用区A、B和C。
  8. 为实例配置其他参数并购买实例,具体请参见创建副本集实例

更多信息

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