您可以通过控制台,根据业务的部署情况切换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. 在弹出的角色切换对话框中,选择需要互换角色的节点。

    • 分片集群实例
      说明 分片集群实例仅支持管理Shard节点和ConfigServer节点的可用区分布。
      1. shard可用区分布Cs可用区分布区域框的右上角,单击角色切换
      2. 在弹出的角色切换对话框中,选择需要互换角色的节点。

  7. 单击确定