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

前提条件

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

注意事项

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

使用限制

云数据库MongoDB 3.4、4.0和4.2版本仅支持在以下地域和可用区部署多可用区分片集群实例。
  • 华南1(深圳):深圳可用区(C+D+E)。
  • 中国(香港):香港可用区(B+C+D)。
  • 新加坡:新加坡可用区(A+B+C)。

节点部署策略

云数据库MongoDB分片集群实例的节点部署策略如下:
  • 单可用区部署:系统将分片集群实例的Mongos、Shard和ConfigServer组件的所有节点部署在同一可用区。
  • 多可用区部署:系统将分片集群实例的Mongos、Shard和ConfigServer组件的节点分别部署在三个不同的可用区中。
    • Mongos组件:遵循所有机房均衡的原则。Mongos组件的节点至少为两个,分别部署在两个不同的可用区中。当增加第三个节点时,默认部署在第三个可用区中,后续增加的节点依次部署在各可用区中。
    • Shard组件:每个Shard组件的主节点(Primary节点)、从节点(Secondary节点)与隐藏节点(Hidden节点)并非顺序部署在三个可用区中,节点所在的可用区可能会随着手动切换主备节点或触发高可用系统而改变。
    • ConfigServer组件:每个ConfigServer组件的主节点(Primary节点)、从节点(Secondary节点)与隐藏节点(Hidden节点)分别部署在三个不同的可用区中。
图 1. 多可用区分片集群实例各组件节点的部署策略

操作步骤

  1. 登录MongoDB管理控制台
  2. 在页面左上角,选择实例所在的资源组和地域。
  3. 在左侧导航栏,单击分片集群实例列表
  4. 分片集群实例列表页面,单击创建实例
  5. 商品类型区域,请根据业务需求,选择分片集群(包年包月)分片集群(按量付费)
  6. 配置地域

    您可以选择地域为华南1(深圳)、中国(香港)或新加坡。

  7. 配置可用区

    您可以选择可用区为深圳可用区(C+D+E)、香港可用区(B+C+D)或新加坡可用区(A+B+C)。

  8. 为实例设置其他参数并购买实例,具体请参见创建分片集群实例

更多信息

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