您可以通过控制台,根据业务的部署情况切换MongoDB实例的节点角色,满足应用就近连接的需求。

场景示例

ECS实例和MongoDB实例在同一可用区通过内网连接时,网络延时最小。而跨可用区连接,将导致网络延迟增高,影响MongoDB实例的性能和业务的运行。

切换角色环境介绍

在本案例的环境中,应用所属的ECS实例在可用区2,如果按照当前副本集实例的各节点分布情况(即Primary节点在可用区1),那么ECS需要跨可用区连接Primary节点。

为优化业务的部署架构,您可以通过切换节点角色的功能,将Primary节点和Secondary节点的角色进行互换。在本案例中,节点角色更换后,可用区2中的节点的角色从Primary变更为Secondary(注:仅变更节点的角色,不会改变节点所属的可用区和角色ID),可实现ECS实例和MongoDB实例同可用区就近连接。

前提条件

实例为副本集实例或分片集群实例。

注意事项

  • 触发节点的角色切换后,会产生1次30秒内的连接闪断,请在业务低峰期操作或确保应用具备重连机制。
  • 节点角色切换的操作,仅变更节点的角色,不改变节点所属的可用区和角色ID。

操作步骤

  1. 登录MongoDB管理控制台
  2. 在页面左上角,选择实例所在的资源组和地域。
  3. 根据实例类型,在左侧导航栏单击副本集实例列表分片集群实例列表
  4. 找到目标实例,单击实例ID。
  5. 在左侧导航栏,单击服务可用性
  6. 服务可用性页面,根据实例类型,选择操作步骤。
    • 副本集实例
      1. 单击右上角的角色切换
      2. 在弹出的角色切换对话框中,选择需要切换的角色。副本集角色切换
      3. 选择生效时间
        • 立即生效:系统立即对角色进行切换。
        • 可运维时间内生效:在可维护时间段内系统对角色进行切换。您可以查看当前设置的运维时间段,也可以根据业务需求,选择以下任意一种方法变更运维时间:
          • 变更运维时间下拉列表中选择合适的运维时间段。
          • 规格信息区域设置可维护时间段,请参见设置可维护时间段
    • 分片集群实例
      说明 分片集群实例仅支持管理Shard节点和ConfigServer节点的可用区分布。
      1. Shard可用区分布CS可用区分布区域框的右上角,单击角色切换
      2. 在弹出的角色切换对话框中,选择需要切换的角色。分片集群角色切换
      3. 选择生效时间
        • 立即生效:系统立即对角色进行切换。
        • 可运维时间内生效:在可维护时间段内系统对角色进行切换。您可以查看当前设置的运维时间段,也可以根据业务需求,选择以下任意一种方法变更运维时间:
          • 变更运维时间下拉列表中选择合适的运维时间段。
          • 规格信息区域设置可维护时间段,请参见设置可维护时间段
  7. 单击确定