您可以通过控制台,根据业务的部署情况切换MongoDB实例的节点角色,满足应用就近连接的需求。
场景示例
ECS实例和MongoDB实例在同一可用区通过内网连接时,网络延时最小。而跨可用区连接,将导致网络延迟增高,影响MongoDB实例的性能和业务的运行。

在本案例的环境中,应用所属的ECS实例在可用区2,如果按照当前副本集实例的各节点分布情况(即Primary节点在可用区1),那么ECS需要跨可用区连接Primary节点。
为优化业务的部署架构,您可以通过切换节点角色的功能,将Primary节点和Secondary节点的角色进行互换。在本案例中,节点角色更换后,可用区2中的节点的角色从Secondary变更为Primary(注:仅变更节点的角色,不会改变节点所属的可用区和角色ID),可实现ECS实例和MongoDB实例同可用区就近连接。
前提条件
实例为副本集实例或分片集群实例。
注意事项
- 触发节点的角色切换后,会产生1次30秒内的连接闪断,建议您在业务低峰期操作或确保应用具备重连机制。
- 节点角色切换的操作,仅变更节点的角色,不改变节点所属的可用区和角色ID。
操作步骤
- 登录MongoDB管理控制台。
- 根据实例类型,在左侧导航栏,单击副本集实例列表或分片集群实例列表。
- 在页面左上角,选择实例所在的资源组和地域。
- 单击目标实例ID或目标实例所在行操作列的管理。
- 在目标实例页面的左侧导航栏,单击服务可用性。
- 根据实例类型,在对应可用区分布区域,执行对应操作。说明 角色切换期间会产生1次30秒内的连接闪断,建议您在业务低峰期操作或确保应用具备重连机制。
- 副本集实例
在可用区分布区域,单击左上方的角色切换。
- 分片集群实例 说明 分片集群实例仅支持管理Shard节点和ConfigServer节点的可用区分布。
在Shard可用区分布或CS可用区分布区域,单击左上方的角色切换。
- 副本集实例
- 在角色切换面板,设置以下参数。
参数 参数说明 角色 选择需要切换的角色。 角色 选择切换后的角色。 生效时间 选择角色切换的生效时间。 - 立即生效:系统立即对角色进行切换。
- 可运维时间内生效:在可维护时间段内系统对角色进行切换。您可以选择当前设置的可维护时间段,也可以在变更运维时间下拉列表中,重新设置可维护时间段。
- 单击确定。