全部产品
Search
文档中心

云数据库 MongoDB:创建多可用区分片集群实例

更新时间:Jul 11, 2023

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

前提条件

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

注意事项

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

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

使用限制

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

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

节点部署策略

云数据库MongoDB分片集群实例的节点部署策略如下:

  • 单可用区部署:系统将分片集群实例的Mongos、Shard和ConfigServer组件的所有节点部署在同一可用区。

  • 多可用区部署:系统将分片集群实例的Mongos、Shard和ConfigServer组件的节点分别部署在三个不同的可用区中。

    • Mongos组件:遵循所有机房均衡的原则。Mongos组件的节点至少为两个,分别部署在两个不同的可用区中。当增加第三个节点时,默认部署在第三个可用区中,后续增加的节点依次部署在各可用区中。

    • Shard组件:每个Shard组件的主节点(Primary节点)、从节点(Secondary节点)与隐藏节点(Hidden节点)并非顺序部署在三个可用区中,节点所在的可用区可能会随着手动切换主备节点或触发高可用系统而改变。

    • ConfigServer组件:每个ConfigServer组件的主节点(Primary节点)、从节点(Secondary节点)与隐藏节点(Hidden节点)分别部署在三个不同的可用区中。

图 1. 多可用区分片集群实例各组件节点的部署策略

操作步骤

创建多可用区分片集群实例的操作步骤,请参见创建分片集群实例

更多信息

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