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

前提条件

  • 已注册阿里云账号,注册流程请参见注册阿里云账号
  • 如果您需要创建付费类型为按量付费的实例,请您确保您的账户余额大于等于100元。

注意事项

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

使用限制

仅以下地域的多可用区支持创建多可用区分片集群实例。
地域 可用区
华东2(上海) 上海可用区(E+F+G)。
华北2(北京) 北京可用区(C+G+H)。
华南1(深圳) 深圳可用区(C+D+E)和(A+B+C)。
中国(香港) 香港可用区(B+C+D)。
新加坡 新加坡可用区(A+B+C)。

节点部署策略

选择单可用区时,系统会将分片集群实例的组件部署在同一可用区;选择多可用区时,系统会将分片集群实例的组件分别部署在三个不同的可用区中。

  • Mongos节点的部署遵循所有机房均衡的原则。Mongos节点最少为两个,分别部署在两个可用区中,当增加第三个时,默认部署在第三个可用区,后续增加的Mongos节点依次部署在各可用区内。
  • 每个Shard节点中的Primary节点、Secondary节点与Hidden节点并非顺序部署在三个可用区中,可能会随着手动切换主备或触发高可用系统而改变。
图 1. 多可用区分片集群实例各组件节点的部署策略

操作步骤

  1. 登录MongoDB管理控制台
  2. 在页面左上角,选择实例所在的资源组和地域。
  3. 在左侧导航栏,单击分片集群实例列表
  4. 分片集群实例列表页面,单击创建实例
  5. 商品类型区域,请根据业务需求,选择副本集(包年包月)副本集(按量付费)
  6. 选择支持多可用区的地域和多可用区,例如上海可用区(E+F+G)。
  7. 为实例设置其他参数并购买实例,具体请参见创建分片集群实例

更多信息

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